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 '<<<<'

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


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


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.