Git合并冲突时如何仅显示未合并文件及其状态
解决方案
1. 精准提取未合并路径及冲突状态
直接执行以下命令,可过滤出仅包含未合并文件的列表,同时显示详细冲突类型:
git status --porcelain | grep -E '^(UU|UD|DU|AA|DD)'
其中双字符状态码的含义对应不同冲突场景:
UU:本地分支与目标分支都修改了该文件UD:本地分支修改了文件,目标分支删除了它DU:本地分支删除了文件,目标分支修改了它AA:双方都添加了同名文件DD:双方都删除了该文件
2. 查看未合并文件的底层索引信息(可选)
如果需要更深入的冲突索引细节,可使用:
git ls-files --unmerged
这条命令会输出未合并文件的暂存区版本条目,适合需要分析冲突来源的场景。
补充说明
git status --porcelain输出格式稳定,适合脚本批量处理;- 若无需过滤,也可直接查看
git status原生输出中的「Unmerged paths」区块,但上述命令能直接剥离这部分内容,避免被庞大的待提交变更列表干扰。
内容的提问来源于stack exchange,提问作者am9417
相关产品推荐
相关产品推荐

