Como exibir apenas os arquivos não mesclados no git após uma falha de mesclagem


32

Ao mesclar alguns dos arquivos, não foi possível mesclar.

git status

mostra as mesclagens com êxito e com falha.

Como exibir apenas os arquivos de mesclagem malsucedidos (conflito).

Atualmente, estou usando o seguinte comando para fazer isso

 find . -name '*.cpp' -o -name '*.h' | xargs grep -l '<<<<'

Respostas:


37
git diff

Isso mostrará apenas mesclagens com falha após uma mesclagem sem êxito. Tem muitas opções para configurar quais informações você deseja ver. Eu suspeito que esta é a opção exata que você procura:

 git diff --name-status --diff-filter=U

Consulte também http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-merge e http://www.kernel.org/pub/software/scm/ git / docs / git-diff.html


9
Se você quiser uma lista limpa de arquivos sem o U anterior, poderá ligar git diff --name-only --diff-filter=U. Dessa forma, você pode canalizar a saída, por exemplo, faça git diff --name-only --diff-filter=U | xargs subl.
JHannes


7
git --no-pager diff --name-only --diff-filter=U

Mas como é mais provável que o objetivo edite esses arquivos, o seguinte será perfeito:

vim $(git diff --name-only --diff-filter=U)

Obrigado a @JHannes do comentário de outra resposta

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.