【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
我只需要一个冲突文件的简单列表。
有什么比这简单:
git ls-files -u | cut -f 2 | sort -u
要么:
git ls-files -u | awk '{print $4}' | sort | uniq
我想我可以为此设置一个方便的alias
,但是想知道专业人士是如何做到的。 我用它来编写shell循环,例如自动解决冲突等。也许通过插入mergetool.cmd
替换该循环?
#1楼
git diff --name-only --diff-filter=U
#2楼
这是一个万无一失的方式:
grep -H -r "<<<<<<< HEAD" /path/to/project/dir
#3楼
我一直只是使用git status
。
可以在最后添加awk
以获取文件名
git status -s | grep ^U | awk '{print $2}'
#4楼
Charles Bailey的回答略有不同,提供了更多信息:
git diff --name-only --diff-filter=U | xargs git status
#5楼
也许这已添加到Git中,但尚未解析的文件列在状态消息(git status)中,如下所示:
#
# Unmerged paths:
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: syssw/target/libs/makefile
#
请注意,这是Unmerged paths部分。
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3152204