Merging one change to multiple branches in Git

2019-01-23 11:35发布

I am used to having one main branch (master) and working in topic branches. But I'm working on a project now with two main branches (master and experimental) and I am unsure how to best merge my topic branch into both?

Is this the right way to do it? If not can someone let me know the right way.

(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

Thank you.

1条回答
Evening l夕情丶
2楼-- · 2019-01-23 12:16

Don't do the rebase and you're set. Simply merge your bugfix branch into each branch you need it

(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

When doing the rebase you are creating a commit similar to the already merged commit, but different. Doing the rebase followed by checkout+merge is essentially equivalent to cherry-picking the bug fixing commit.

查看更多
登录 后发表回答