将一个更改合并到Git中的多个分支

use*_*384 29 git version-control branching-and-merging git-branch

我习惯有一个主分支(主)和主题分支工作.但我现在正在开展一个项目,有两个主要分支(主要和实验),我不确定如何最好地将我的主题分支合并到两个分支中?

这是正确的方法吗?如果没有,有人可以让我知道正确的方法.

(master)$ git checkout -b bugfix
# do bug fix here
(bugfix)$ git commit -a -m 'Fixed bug.'
(bugfix)$ git checkout master
(master)$ git merge bugfix

(master)$ git checkout bugfix
(bugfix)$ git rebase experimental
(bugfix)$ git checkout experimental
(experimental)$ git merge bugfix
Run Code Online (Sandbox Code Playgroud)

谢谢.

kni*_*ttl 36

不要做rebase而你已经设定好了.只需将您的bugfix分支合并到您需要的每个分支中

(master)$ git checkout -b bugfix
# do bug fix here
(bugfix)$ git commit -a -m 'Fixed bug.'
(bugfix)$ git checkout master
(master)$ git merge bugfix

(bugfix)$ git checkout experimental
(experimental)$ git merge bugfix
Run Code Online (Sandbox Code Playgroud)

在执行rebase时,您创建的提交类似于已经合并的提交,但不同.执行rebase后跟checkout + merge实际上相当于挑选bug修复提交.

  • 不确定这是否一直有效.如果你的bugfix分支与实验完全不同怎么办?您将遇到冲突,并且合并将显示比您实际尝试合并的文件更多的文件.如果不将源分支与目标分支重新同步,您如何才能始终如一地完成这项工作? (5认同)