如何为git重基选择合并策略?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (78)

git-rebase手册页提到-X<option>可以传递给git-merge。什么时候/怎样?

我想通过应用补丁来重新定位递归战略和他们的选项(应用任何坚持,而不是跳过整个冲突提交)。我不想合并,我想让历史线性化。

我试过:

git rebase -Xtheirs

git rebase -s 'recursive -Xtheirs'

但git拒绝-X在这两种情况下。

git rebase -Xtheirs工作在最近的版本,除了树冲突需要手动解决。你得运行git rebase -Xtheirs --continue(与-X在解决这些冲突之后。

提问于
用户回答回答于

可以在Git v1.7.3或更高版本中使用此功能。

git rebase -s recursive -X theirs ${branch}

来自Git v1.7.3发行说明:

git rebase --strategy <s>学到-X选项传递由所选合并策略理解的额外选项。

注:“我们的”和“他们的”指的是他们在直接合并过程中所做的事情。

用户回答回答于

这是针对合并策略的,它们有自己的一组选项。

git rebase <branch> -s recursive -X theirs

应该能工作,尽管这个补丁提到(2010):

传令上说git-rebase支持合并策略,但rebase命令不知道-X,并给出了它的用法。

(最近的GIT支持)

提交db2b3b820e2b28da268cc88adff076b396392dfe(2013,1.8.4+)

不要忽略交互式重基中的合并选项 合并策略及其选项可以在git rebase,但是-- interactive他们被完全忽视了。 签名人:阿诺德·方丹

这意味着-X现在,策略可以与交互式重基以及普通重基一起工作。

扫码关注云+社区