0

在开发分支(newstuff)上工作时,我遇到了一种情况,我必须从我(master)后面的提交中分支一个临时修复(quickfix)并将其推送到服务器。

这很容易并且工作正常,因此服务器正在运行 quickfix 分支。

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

不知道我是否应该进行挑选,或合并,以及以何种顺序。

quickfix 更改了我当前(master)或当前(newstuff)分支的少数行,因此quickfix 中的实际更改不会导致任何合并冲突。

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

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

2 回答 2

1

只需按任意顺序合并它们

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

# v2
$ git checkout master
$ git merge newstuff
$ git merge quickfix
于 2013-07-17T23:25:45.897 回答
0

在您希望将一些提交添加/推送到master的这种情况下,您可以选择cherry-pick。

它将允许您添加有用的提交。

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

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

看看这个,它可能会起作用。:)

于 2013-07-18T07:25:36.443 回答