合并失败后如何仅查看git中未合并的文件

Tal*_*Kit 41 git

合并某些文件时合并失败。

git status
Run Code Online (Sandbox Code Playgroud)

显示成功和失败的合并。

如何仅查看不成功的合并文件(冲突)。

目前我正在使用以下命令来做到这一点

 find . -name '*.cpp' -o -name '*.h' | xargs grep -l '<<<<'
Run Code Online (Sandbox Code Playgroud)

Mat*_*s P 53

git diff
Run Code Online (Sandbox Code Playgroud)

这只会在合并失败后显示失败的合并。它有许多选项来配置您想要查看的信息。我怀疑这是您所追求的确切选项:

 git diff --name-status --diff-filter=U
Run Code Online (Sandbox Code Playgroud)

另请参阅http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-mergehttp://www.kernel.org/pub/software/scm/ git/docs/git-diff.html

  • 如果你想要一个没有前面 U 的干净文件列表,那么你可以调用`git diff --name-only --diff-filter=U`。这样你就可以通过管道输出,例如做`git diff --name-only --diff-filter=U | xargs subl`。 (13认同)

Amo*_*rin 10

尝试这个:

$ git ls-files -u
see man-git-ls-files
Run Code Online (Sandbox Code Playgroud)


小智 9

git --no-pager diff --name-only --diff-filter=U
Run Code Online (Sandbox Code Playgroud)

但是由于目标最有可能编辑这些文件,因此以下操作将非常完美:

vim $(git diff --name-only --diff-filter=U)
Run Code Online (Sandbox Code Playgroud)

感谢来自另一个答案评论的@JHannes