You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出含Git冲突标记且无重复的文件?

检测Git合并后残留冲突标记的文件(去重+精准检测)

纯Git方案(跨Windows/Bash)

直接用git grep就能解决重复列文件的问题,同时覆盖所有标准Git冲突标记,避免仅搜====的误判:

git grep --name-only -e '<<<<<<<' -e '=======' -e '>>>>>>>'
  • --name-only:只输出匹配到冲突标记的文件名,每个文件仅显示一次,彻底解决重复列出的问题
  • -e:指定多个匹配模式,覆盖Git冲突的完整标记(起始标记<<<<<<<、分隔线=======、结束标记>>>>>>>)
  • 这个命令在Windows命令提示符和Bash下都能正常运行,完全依赖Git自身功能

如果需要同时检查暂存区(已git add但未commit的文件)和工作区,加上--cached参数:

git grep --name-only --cached -e '<<<<<<<' -e '=======' -e '>>>>>>>'

更精准的冲突标记检测

如果担心误判(比如代码中确实存在====这类字符串),可以把匹配模式写得更严格,对应Git冲突标记的完整格式:

git grep --name-only -e '<<<<<<< [a-zA-Z0-9_/-]*' -e '=======' -e '>>>>>>> [a-zA-Z0-9_/-]*'

这个模式会匹配带分支名/哈希后缀的冲突起始/结束标记,进一步降低误报概率。

UNIX工具备选方案

如果纯Git方案无法满足需求,可结合git ls-files和grep实现:

git ls-files | xargs grep -l -E '<<<<<<<|=======|>>>>>>>'
  • git ls-files:列出Git仓库中所有被跟踪的文件
  • xargs grep -l:将文件列表传给grep,仅输出匹配到的文件名
  • -E:使用扩展正则表达式,一次性匹配多个冲突标记

内容的提问来源于stack exchange,提问作者Adam Burley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 11:34:53