Zrobiłem git pull
ze wspólnego repozytorium git, ale coś poszło naprawdę nie tak, po tym jak spróbowałem git revert
. Oto sytuacja teraz:
$ git stash
Source/MediaStorageAndFileFormat/gdcmImageCodec.cxx: needs merge
Source/MediaStorageAndFileFormat/gdcmJPEGLSCodec.cxx: needs merge
Source/MediaStorageAndFileFormat/gdcmPNMCodec.cxx: needs merge
Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestDS.cxx: needs merge
Utilities/socketxx/socket++/sockstream.cpp: needs merge
Source/MediaStorageAndFileFormat/gdcmImageCodec.cxx: needs merge
Source/MediaStorageAndFileFormat/gdcmJPEGLSCodec.cxx: needs merge
Source/MediaStorageAndFileFormat/gdcmPNMCodec.cxx: needs merge
Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestDS.cxx: needs merge
Utilities/socketxx/socket++/sockstream.cpp: needs merge
Source/MediaStorageAndFileFormat/gdcmImageCodec.cxx: unmerged (2aafac967c35fa4e77c3086b83a3c102939ad168)
Source/MediaStorageAndFileFormat/gdcmImageCodec.cxx: unmerged (78cc95e8bae85bf8345a7793676e878e83df167b)
Source/MediaStorageAndFileFormat/gdcmImageCodec.cxx: unmerged (2524db713fbde0d7ebd86bfe2afc4b4d7d48db33)
Source/MediaStorageAndFileFormat/gdcmJPEGLSCodec.cxx: unmerged (4bb4ba78973091eaa854b03c6ce24e8f4af9e7cc)
Source/MediaStorageAndFileFormat/gdcmJPEGLSCodec.cxx: unmerged (ad0982b8b8b4c4fef23e69bbb639ca6d0cd98dd8)
Source/MediaStorageAndFileFormat/gdcmJPEGLSCodec.cxx: unmerged (4868371b7218c6e007fb6c582ad4ab226167a80a)
Source/MediaStorageAndFileFormat/gdcmPNMCodec.cxx: unmerged (f7a1b386b5b13b8fa8b6a31ce1258d2d5e5b13c5)
Source/MediaStorageAndFileFormat/gdcmPNMCodec.cxx: unmerged (6ce299c416fbb3bb60e11ef1e54962ffd3449a4c)
Source/MediaStorageAndFileFormat/gdcmPNMCodec.cxx: unmerged (75c8043a60a56a1130a34cdbd91d130bc9343c1c)
Testing/Source/DataStructureAndEncodingDefinition/Cxx/TestDS.cxx: unmerged (79c2843f2649ea9c87fa57662dafd899a5fa39ee)
...
fatal: git-write-tree: error building trees
Cannot save the current index state
Czy istnieje sposób na zresetowanie tego wszystkiego?
Dzięki
--mixed
argument jest równieżgit reset
domyślnym zachowaniem, gdy nie podano argumentu. strona w celach informacyjnych.git reset
(domyślna)--mixed
jest tutaj odpowiednia i skuteczna. Według korespondencji seryjnej - problem z połączoną ścieżką Git : spowoduje to przełączenie na HEAD i powie git, aby zapomniał o wszelkich konfliktach scalania, i opuści katalog roboczy bez zmian. heracek, czy o to chodzi?git stash
. Togit reset --mixed
rozwiązało.To działało dla mnie:
Robić
I sprawdź, czy masz
Unmerged paths
Napraw je za pomocą
git add
każdego z nich i spróbujgit stash
ponownie.źródło
git reset --mixed
, ale to działało, i wydawało się, że lepiej pasuje do mojego przypadku, ponieważ mam ten błąd pogit stash
zamiastgit revert
.git merge
, lub równowartość git scalania, a starał się połączyć dwa różne zestawy zmian do tego pliku, ale nie powiodło się.Aby śledzić reakcję Malata, możesz uniknąć utraty zmian, tworząc łatkę i ponownie ją zastosuj w późniejszym terminie.
Dla bezpieczeństwa przechowuj łatkę poza folderem repozytorium.
źródło
mv
ponownie zainstalować łatkę w katalogu, z którego ją utworzyłeś. 1.git diff
2.mv patch.txt /tmp
3.git stash
4.mv /tmp/patch.txt .
5.patch -p0
Użyłem:
Straciłem kilka zmian, ale to jest w porządku.
źródło
git revert
próbuje scalić zmiany z przeszłości; poprawnie użyłeśgit reset
po prostu przewinąć zegar. To niefortunne, żegit stash
nie działa w przypadku konfliktów scalania.być może w twoim repozytorium git znajdują się niezamieszane ścieżki, które musisz rozwiązać przed schowaniem.
źródło
Stało się to dla mnie, gdy próbowałem ukryć moje zmiany, ale potem moje zmiany były w konflikcie z bieżącym stanem mojego oddziału.
Więc zrobiłem,
git reset --mixed
a potem rozwiązałem konflikt gitów i znów się schowałem.źródło