我只需要一份冲突文件列表。
还有什么比:
git ls-files -u | cut -f 2 | sort -u
or:
git ls-files -u | awk '{print $4}' | sort | uniq
我想我可以为此设置一个方便的别名,但我想知道专业人士是如何做到的。我会用它来写shell循环,比如自动解决冲突等等。也许可以通过插入mergetool.cmd来替换这个循环?
我只需要一份冲突文件列表。
还有什么比:
git ls-files -u | cut -f 2 | sort -u
or:
git ls-files -u | awk '{print $4}' | sort | uniq
我想我可以为此设置一个方便的别名,但我想知道专业人士是如何做到的。我会用它来写shell循环,比如自动解决冲突等等。也许可以通过插入mergetool.cmd来替换这个循环?
当前回答
这对我来说很管用:
<<<<<< HEAD'
or
git grep '<<<<<<< HEAD' | less -N
其他回答
查尔斯·贝利的回答略有变化,提供了更多信息:
git diff --name-only --diff-filter=U | xargs git status
使用git diff,带name-only只显示名称,diff-filter=U只包括'Unmerged'文件(可选地,相对于当前工作目录显示路径)。
git diff --name-only --diff-filter=U --relative
我一直只使用git状态。
可以在最后添加awk来获得文件名吗
git status -s | grep ^U | awk '{print $2}'
Git的状态会在有冲突的文件旁边显示“已修改”,而不是“已修改”或“新文件”等
正如在其他答案中突出显示的那样,我们可以简单地使用命令git status,然后查找未合并路径下列出的文件: