Visual Studio Git变更窗口“保留当前版本”的Git CLI等效命令是什么?
Git合并冲突:保留当前/传入分支文件的命令行操作
针对你遇到的both added类型冲突,单纯用git checkout --ours -- $filename只会替换文件内容,但不会告诉Git冲突已解决,所以状态仍会显示冲突。正确操作分两步:
保留当前分支(ours)的文件
- 提取当前分支的文件版本:
git checkout --ours -- $filename
- 标记冲突已解决(将文件加入暂存区):
git add $filename
保留传入分支(theirs)的文件
- 提取传入分支的文件版本:
git checkout --theirs -- $filename
- 标记冲突已解决:
git add $filename
关键说明
当两个分支都新增了同名文件时,Git会标记为both added冲突。git checkout --ours/--theirs只是完成了内容替换,但Git需要你通过git add明确确认:“我已经选好要保留的版本了”,这样才会把该文件从冲突状态中移除,git status就会恢复正常。
如果是普通的文件修改冲突(非新增文件),部分场景下checkout后Git会自动标记解决,但both added这类新增冲突必须手动执行git add来确认。
内容的提问来源于stack exchange,提问作者Peter Bergman
相关产品推荐
相关产品推荐

