Git: 致命错误:'--ours/--theirs' 不能与切换分支一起使用。

31

在合并冲突中,我试图将所有的合并冲突解决为某个特定分支。

我尝试执行git checkout --ours,但是我收到以下错误:

fatal: '--ours/--theirs' cannot be used with switching branches
我该如何实现我想要做的事情?
2个回答

32

git checkout 命令使用 --ours--theirs 选项时,需要至少一个参数:要检出的文件/目录的路径。

根据 官方文档

从索引中检出路径时,对于未合并的路径,检出阶段 #2(ours)或 #3(theirs)。

因此:

git checkout --ours <path(s)>

有趣的是,在隐身浏览器中,Google 只看到了这个完整的错误字符串一次:在 这个答案 的评论中。没有 fatal 前缀,它会多出现 5 次。我想知道为什么它没有在源代码中捕获到这个字符串? - Tom Hale
1
因为它不是单个字符串:https://github.com/git/git/blob/master/builtin/checkout.c#L1085-L1086 - torek
6
使用 "git checkout --ours <path>" 命令无法针对分支名称进行操作。问题是如何使用 "--ours" 策略自动解决合并冲突并切换到某个分支。 - electrodrel

-1

你可以使用 cherry-pick 命令将标记为 --theirs 的分支上的所有内容克隆到当前的 HEAD

git cherry-pick <commit you want to copy>

2
这个如何处理rmerge期间的冲突? - Moberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接