Jak wyświetlić tylko nie połączone pliki w git po awarii scalania

32

Podczas scalania niektórych plików nie udało się scalić.

git status

pokazuje zarówno udane, jak i nieudane połączenia.

Jak wyświetlić tylko nieudane pliki scalania (konflikt).

Obecnie używam do tego następującego polecenia

 find . -name '*.cpp' -o -name '*.h' | xargs grep -l '<<<<'
Talespin_Kit
źródło

Odpowiedzi:

37
git diff

Pokaże to tylko nieudane scalenia po nieudanym scaleniu. Ma wiele opcji konfiguracji, które informacje chcesz zobaczyć. Podejrzewam, że jest to dokładnie ta opcja, której szukasz:

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

Zobacz także: http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-merge i http://www.kernel.org/pub/software/scm/ git / docs / git-diff.html

Matthijs P.
źródło
9
Jeśli chcesz mieć czystą listę plików bez poprzedniego U, możesz zadzwonić git diff --name-only --diff-filter=U. W ten sposób możesz na przykład przesłać dane wyjściowe git diff --name-only --diff-filter=U | xargs subl.
JHannes
9

Spróbuj tego:

$ git ls-files -u
see man-git-ls-files
Amos Folarin
źródło
7
git --no-pager diff --name-only --diff-filter=U

Ale ponieważ celem jest najprawdopodobniej edycja tych plików, następujące czynności będą doskonałe:

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

Dzięki @JHannes z komentarza innej odpowiedzi

JobWat
źródło