Cómo ver solo los archivos no fusionados en git después de un error de fusión

33

Al fusionar algunos de los archivos no se pudieron fusionar.

git status

muestra las fusiones exitosas y fallidas.

Cómo ver solo los archivos de fusión sin éxito (conflicto).

Actualmente estoy usando el siguiente comando para hacer esto

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

Respuestas:

37
git diff

Esto solo mostrará fusiones fallidas después de una fusión fallida. Tiene muchas opciones para configurar qué información desea ver. Sospecho que esta es la opción exacta que buscas:

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

Consulte también http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-merge y http://www.kernel.org/pub/software/scm/ git / docs / git-diff.html

Matthijs P
fuente
99
Si desea una lista limpia de archivos sin la U anterior, puede llamar git diff --name-only --diff-filter=U. De esta manera puede canalizar la salida, por ejemplo, do git diff --name-only --diff-filter=U | xargs subl.
JHannes
9

Prueba esto:

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

Pero como es más probable que el objetivo edite esos archivos, lo siguiente será perfecto:

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

Gracias a @JHannes por el comentario de otra respuesta

Jobwat
fuente