git如何将单个提交中的新更改合并到另一个分支中?

时间:2013-07-17 22:52:20

标签: git

在处理开发分支(newstuff)时,我遇到了一种情况,我不得不从我的(主)后面的提交中分支临时修复(quickfix)并将其推送到服务器。

这很简单,工作正常,因此服务器正在运行quickfix分支。

我的问题是如何将所有更改(newstuff + quickfix)合并回master,而不会遇到合并冲突。

不确定我是应该选择樱桃,还是合并,以及顺序。

quickfix会更改一些尚未更改当前(主)或当前(newstuff)分支的行,因此quickfix中的实际更改不会导致任何合并冲突。

图片有帮助:我的git repo看起来像这样(aaaaa是共同的祖先)

aaaaa
bbbbb --> xxxxx <== quickfix
ccccc  <== master
ddddd
eeeee
fffff
ggggg  <== newstuff

2 个答案:

答案 0 :(得分:1)

只需按任意顺序合并它们

# v1
$ git checkout master
$ git merge quickfix
$ git merge newstuff

# v2
$ git checkout master
$ git merge newstuff
$ git merge quickfix

答案 1 :(得分:0)

在您希望将某些提交添加/推送到的情况下,您可以选择樱桃。

它允许您添加 ONLY 提交有用的内容。

AFAIK,您可以执行以下命令:

  • git checkout master(从test / quickfix分支切换到master branch
  • git cherry-pick <commit ID>(仅提取您要提取的提交ID)
  • git log(检查特定提交ID是否被挑选。

检查一下,它可能会起作用。 :)