Eu fiz a git pull
partir de um repositório git compartilhado, mas algo deu muito errado, depois que tentei a git revert
. Aqui está a situação agora:
$ 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
Existe uma maneira de redefinir tudo isso?
obrigado
--mixed
argumento tambémgit reset
é o comportamento padrão, quando não recebe um argumento. manual para referência.git reset
com a--mixed
opção (padrão), é apropriada e eficaz aqui também. De acordo com o merge - problema de caminho não imerso do Git : Isso mudará para HEAD, e informará ao git para esquecer qualquer conflito de mesclagem e deixar o diretório de trabalho como está. Heracek, é isso que está acontecendo?git stash
. Fazendogit reset --mixed
resolvido.Isso funcionou para mim:
Faz
E verifique se você tem
Unmerged paths
Prenda-os
git add
a cada um deles e tentegit stash
novamente.fonte
git reset --mixed
, mas funcionou, e parecia um ajuste melhor para o meu caso porque eu tenho o erro depois degit stash
, em vez degit revert
.git merge
, ou o equivalente ao git merge, e tentou mesclar dois conjuntos diferentes de alterações nesse arquivo, mas falhou.Para acompanhar a resposta do malat, você pode evitar a perda de alterações criando um patch e reaplicá-lo posteriormente.
Armazene seu patch fora da pasta do repositório por segurança.
fonte
mv
voltar o patch para o diretório de onde você o criou. 1.git diff
2.mv patch.txt /tmp
3.git stash
4.mv /tmp/patch.txt .
5.patch -p0
Eu usei:
Perdi algumas mudanças, mas tudo bem.
fonte
git revert
tentativas de mesclar mudanças do passado; você usou corretamentegit reset
para simplesmente retroceder o relógio. É lamentável quegit stash
não funcione com conflitos de mesclagem.talvez haja alguns caminhos não imersos em seu repositório git que você precise resolver antes de guardar.
fonte
Isso aconteceu comigo quando eu estava tentando ocultar minhas alterações, mas então elas tiveram conflitos com o estado atual da minha ramificação.
Então
git reset --mixed
, resolvi o conflito do git e me escondi novamente.fonte