我只需要一个简单的冲突文件列表。
还有什么比以下更简单的了:
git ls-files -u | cut -f 2 | sort -u
或者:
git ls-files -u | awk '{print $4}' | sort | uniq
我想我可以alias
,但是想知道专业人士是如何做到的。我会用它来编写 shell 循环,例如自动解决冲突等。也许通过插入mergetool.cmd
替换该循环?
git diff --name-only --diff-filter=U
git diff --check
将显示包含冲突标记(包括行号)的文件列表。
例如:
> git diff --check
index-localhost.html:85: leftover conflict marker
index-localhost.html:87: leftover conflict marker
index-localhost.html:89: leftover conflict marker
index.html:85: leftover conflict marker
index.html:87: leftover conflict marker
index.html:89: leftover conflict marker
试图回答我的问题:
不,似乎没有比问题中的方法更简单的方法了。
在多次输入之后,只需将较短的内容粘贴到名为 “git-conflicts” 的可执行文件中,即可使用 git 进行访问,现在我可以: git conflicts
获得我想要的列表。
更新:按照 Richard 的建议,您可以设置 git 别名,以替代可执行文件
git config --global alias.conflicts '!git ls-files -u | cut -f 2 | sort -u'
在别名上使用可执行文件的一个优点是,您可以与团队成员共享该脚本(在仓库的 bin 目录中)。