我使用git diff --name-only -S====
来尝试列出带有冲突标记的文件,因为有时我在文本编辑器中解决了冲突,但忘记将其标记为合并。但问题是,如果文件有多个冲突,则文件会多次列出,每个冲突一次。有没有一种方法可以避免重复?
我更喜欢只使用git
而不使用UNIX工具的解决方案,这样无论是在Windows命令提示符下还是在Bash shell下都可以运行。但是,如果只使用git
是不可能的,那么使用UNIX工具的解决方案也可以。
此外,如果有更好的方法来检测冲突标记,那就太好了,因为字符串====
可能会因为其他原因而出现,尽管对于我正在处理的特定代码库来说,这是非常罕见的。
1条答案
按热度按时间omqzjyyz1#
您可以运行
字符串
获取git认为存在冲突且尚未被
git add
标记为已解决的所有文件的列表。这将为每个文件提供给予2或3行,而不管文件中的冲突数量。
型
请注意,这与搜索冲突标记(可能会意外添加并提交)略有不同,因此您可能可以将这两种方法合并组合到
find-conflicted-files.sh
脚本中:型
不过,我还是推荐using KDiff3 to resolve conflicts,因为这样的话,解决冲突的时候不可能忘记将其标记为合并。当冲突解决后,它就完成了。
除了一个适当的,完整的3路合并操作是上级只是一个2路冲突视图,是大多数IDE/编辑器提供。