Как просмотреть только неотправленные файлы в git после сбоя слияния

33

При объединении некоторые файлы не удалось объединить.

git status

показывает как успешные, так и неудачные слияния.

Как просмотреть только неудачные файлы слияния (конфликт).

В настоящее время я использую следующую команду, чтобы сделать это

 find . -name '*.cpp' -o -name '*.h' | xargs grep -l '<<<<'
Talespin_Kit
источник

Ответы:

37
git diff

Это покажет только неудачные слияния после неудачного слияния. Он имеет много опций для настройки, какую информацию вы хотите видеть. Я подозреваю, что это именно тот вариант, который вам нужен:

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

Также см. Http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-merge и http://www.kernel.org/pub/software/scm/ мерзавец / документы / ГИТ-diff.html

Маттис П
источник
9
Если вы хотите чистый список файлов без предшествующего U, то вы можете позвонить git diff --name-only --diff-filter=U. Таким образом, вы можете передать вывод, например, сделать git diff --name-only --diff-filter=U | xargs subl.
Яннес
9

Попробуй это:

$ git ls-files -u
see man-git-ls-files
Амос Фоларин
источник
7
git --no-pager diff --name-only --diff-filter=U

Но так как цель, скорее всего, отредактировать эти файлы, следующее будет идеально:

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

Спасибо @JHannes из комментария другого ответа

jobwat
источник