Não é possível "git stash pop" devido a conflitos

10

Eu tenho um repositório git local e tive vários arquivos modificados. Então eu precisava produzir rapidamente uma correção para algo, então eu

  • stashed my changes (git stash)
  • arquivo editado (arquivo vi)
  • commited (git commit)
  • stash estampado (git stash pop)

Isso resultou em Conflito.

# On branch master
$ git stash pop
Auto-merging page/search.php
CONFLICT (content): Merge conflict in page/search.php
$ git status
# On branch master
# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   both modified:      page/search.php

Se eu tentar limpar as alterações e reaplicar o stash, a mesma coisa acontece (conflito). Eu não me importo muito com a página / search.php, mas gostaria de obter outros arquivos para fora do stash.

Existe uma maneira de converter stash em um patch ou simplesmente obter os arquivos como estavam quando stashed?

    
por romaninsh 17.01.2012 / 16:44

3 respostas

12

O stash já foi aplicado a outros arquivos; é apenas page/search.php que você precisa mesclar manualmente. Depois é só executar git reset para desassociar as mudanças e continuar hacking - ou git add ... e commit.

    
por 17.01.2012 / 17:21
9

Resolvido com:

git stash show -p
    
por 17.01.2012 / 17:15
2

Após o comando git stash pop , você precisa resolver o conflito manualmente e fazer git stash drop manualmente, como o man git-stash sugere.

    
por 10.01.2018 / 07:19