Hice un git pulldesde un repositorio de git compartido, pero algo salió realmente mal, después de probar a git revert. Aquí está la situación ahora:
$ 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
¿Hay alguna manera de restablecer todo eso?
Gracias

--mixedargumento tambiéngit resetes el comportamiento predeterminado, cuando no se le da un argumento. página de manual para referencia.git resetcon la--mixedopción (predeterminada) es apropiado y efectivo aquí también. De acuerdo con merge : problema de ruta no fusionada de Git : esto cambiará a HEAD y le dirá a git que olvide cualquier conflicto de fusión y dejará el directorio de trabajo tal como está. Heracek, ¿es eso lo que está pasando?git stash. Haciéndolo logit reset --mixedresolvió.Esto funcionó para mí:
Hacer
Y verifica si tienes
Unmerged pathsFíjelos con
git addcada uno de ellos e intentegit stashnuevamente.fuente
git reset --mixed, pero funcionó, y parecía ser una mejor opción para mi caso porque recibí el error engit stashlugar de hacerlogit revert.git merge, o el equivalente de git merge, e intentó fusionar dos conjuntos diferentes de cambios en ese archivo, pero falló.Para hacer un seguimiento de la respuesta de malat, puede evitar perder los cambios creando un parche y volver a aplicarlo más adelante.
Almacene su parche fuera de la carpeta del repositorio por seguridad.
fuente
mvvolver a colocar el parche en el directorio donde lo creaste. 1.git diff2.mv patch.txt /tmp3.git stash4.mv /tmp/patch.txt .5.patch -p0Solía:
Perdí algunos cambios, pero esto está bien.
fuente
git revertintenta fusionar los cambios del pasado; has usado correctamentegit resetpara simplemente rebobinar el reloj. Es lamentable quegit stashno funcione con conflictos de fusión.tal vez hay algunos caminos no combinados en su repositorio de git que debe resolver antes de guardarlos.
fuente
Esto me sucedió cuando estaba tratando de esconder mis cambios, pero luego mis cambios tuvieron conflictos con el estado actual de mi sucursal.
Así lo hice
git reset --mixedy luego resolví el conflicto git y me escondí de nuevo.fuente