So zeigen Sie nach einem Zusammenführungsfehler nur die nicht zusammengeführten Dateien in Git an

32

Beim Zusammenführen konnten einige Dateien nicht zusammengeführt werden.

git status

Zeigt sowohl die erfolgreichen als auch die fehlgeschlagenen Zusammenführungen an.

So zeigen Sie nur die fehlgeschlagenen Zusammenführungsdateien an (Konflikt).

Derzeit verwende ich den folgenden Befehl, um dies zu tun

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

Antworten:

37
git diff

Dies zeigt nur fehlgeschlagene Zusammenführungen nach einer erfolglosen Zusammenführung an. Es gibt viele Optionen zum Konfigurieren der gewünschten Informationen. Ich vermute, das ist genau die Option, nach der Sie suchen:

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

Siehe auch http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-merge und http://www.kernel.org/pub/software/scm/ git / docs / git-diff.html

Matthijs P
quelle
9
Wenn Sie eine saubere Liste von Dateien ohne vorangestelltes U wünschen, können Sie anrufen git diff --name-only --diff-filter=U. Auf diese Weise können Sie beispielsweise die Ausgabe weiterleiten git diff --name-only --diff-filter=U | xargs subl.
JHannes
9

Versuche dies:

$ git ls-files -u
see man-git-ls-files
Amos Folarin
quelle
7
git --no-pager diff --name-only --diff-filter=U

Da das Ziel jedoch am ehesten darin besteht, diese Dateien zu bearbeiten, ist Folgendes perfekt:

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

Vielen Dank an @JHannes aus dem Kommentar einer anderen Antwort

jobwat
quelle