我只需要一份冲突文件列表。

还有什么比:

git ls-files -u  | cut -f 2 | sort -u

or:

git ls-files -u  | awk '{print $4}' | sort | uniq

我想我可以为此设置一个方便的别名,但我想知道专业人士是如何做到的。我会用它来写shell循环,比如自动解决冲突等等。也许可以通过插入mergetool.cmd来替换这个循环?


当前回答

实用git向导https://github.com/makelinux/git-wizard分别计算未解决的冲突更改(冲突)和未合并的文件。冲突必须手动或使用mergetool解决。解决的未合并的更改可以添加和提交通常与git rebase -continue。

其他回答

我一直只使用git状态。

可以在最后添加awk来获得文件名吗

git status -s | grep ^U | awk '{print $2}'

假设你知道git根目录${GIT_ROOT}在哪里,你可以这样做,

 cat ${GIT_ROOT}/.git/MERGE_MSG | sed '1,/Conflicts/d'

这对我来说很管用:

<<<<<< HEAD'

or

git grep '<<<<<<< HEAD' | less -N

你可以在命令行上点击git ls-files -u,它会列出有冲突的文件

如果你在本地git存储库中工作,或者在patch -p1——merge <…是应用。

grep -rnw . -e '^<<<<<<<$'