如何在Git中列出合并冲突里「我方已删除」的文件?
列出Git合并冲突中我方已删除但对方仍有变更的文件
要找出这类文件,有两个实用方法:
方法一:用Git diff直接筛选
执行以下命令,对比对方分支(MERGE_HEAD)和本地分支(HEAD),筛选出我方已删除但对方仍存在的文件:git diff --name-only MERGE_HEAD HEAD --diff-filter=D这里
--diff-filter=D表示筛选出对比过程中被标记为删除的文件,由于是从对方分支往本地分支做对比,结果就是我方删除但对方还保留的目标文件。方法二:从状态信息中提取
合并冲突时,git status会标注出deleted by us:的文件,用以下命令可以直接提取这些文件名:git status | grep "deleted by us:" | awk '{print $4}'
拿到文件名后,可批量执行git rm处理:
git diff --name-only MERGE_HEAD HEAD --diff-filter=D | xargs git rm
内容的提问来源于stack exchange,提问作者glades
相关产品推荐
相关产品推荐

