Come visualizzare solo i file non uniti in git dopo un errore di unione


33

Durante l'unione di alcuni file non è stato possibile unire.

git status

mostra sia le fusioni riuscite che quelle non riuscite.

Come visualizzare solo i file di unione non riusciti (conflitto).

Attualmente sto usando il seguente comando per fare questo

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

Risposte:


37
git diff

Ciò mostrerà le fusioni non riuscite solo dopo una fusione non riuscita. Ha molte opzioni per configurare quali informazioni vuoi vedere. Sospetto che questa sia l'opzione esatta che stai cercando:

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

Vedi anche 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 desideri un elenco pulito di file senza la precedente U, puoi chiamare git diff --name-only --diff-filter=U. In questo modo è possibile reindirizzare l'output, ad esempio git diff --name-only --diff-filter=U | xargs subl.
JHannes,


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

Ma poiché è più probabile che l'obiettivo modifichi tali file, ciò che segue sarà perfetto:

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

Grazie a @JHannes dal commento di un'altra risposta

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.