为何git checkout --ours/theirs命令无法生效?
冲突未解决的原因及解决步骤
原因
你只执行了选择版本的命令,但没有将处理后的文件标记为冲突已解决。Git 中,冲突文件需要通过 git add 操作告知系统“冲突已处理完成”,否则会一直处于未解决的冲突状态。
正确操作步骤
- 保留本地版本的文件A:
git checkout --ours -- A - 用远程模板版本覆盖其余所有冲突文件:
git checkout --theirs -- . - 标记所有冲突文件为已解决(这是你漏掉的关键步骤):
git add A B C # 或者直接添加所有已处理文件:git add . - 完成合并提交:
执行后Git会自动生成合并提交的默认信息,确认即可。git commit
验证
执行完上述步骤后,再用以下命令检查冲突状态:
git diff --name-only --diff-filter=U
此时应该不会再列出任何冲突文件。
内容的提问来源于stack exchange,提问作者Ooker
相关产品推荐
相关产品推荐

