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

如何列出Git中最初引发合并冲突的文件(已部分解决后)

列出Git合并过程中所有最初的冲突文件(包括已解决的)

当你在合并过程中已经解决部分冲突,但想找回所有最初触发冲突的文件时,可以用以下方法:

利用Git索引阶段查询(精准方法)

Git合并时会把冲突文件的不同版本存在索引的不同阶段:阶段2对应当前分支(HEAD)的版本,阶段3对应待合并分支(MERGE_HEAD)的版本。哪怕你已经解决冲突并把文件加入暂存区,这些阶段记录依然存在。执行这条命令就能提取所有最初的冲突文件:

git ls-files --stage | awk '$2 ~ /2|3/ {print $4}' | sort -u
  • git ls-files --stage:输出索引内所有文件的阶段信息
  • awk 部分:筛选出阶段为2或3的文件,只保留文件名
  • sort -u:去重,避免重复显示同一文件

分支差异对比(辅助验证)

如果需要确认这些文件确实是合并冲突的来源,可以对比当前分支和待合并分支的差异:

git diff --name-only HEAD...MERGE_HEAD

这条命令会列出两个分支从公共祖先开始所有有改动的文件,其中包含所有最初的冲突文件(冲突的核心就是双方都修改了同一文件)。不过它会包含所有差异文件,所以需要结合上面的精准方法来定位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 13:05:17