Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Merging one change to multiple branches in Git

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.

like image 604
user1015384 Avatar asked Oct 26 '11 20:10

user1015384


People also ask

Can you merge a branch into multiple branches?

To merge branches locally, use git checkout to switch to the branch you want to merge into. This branch is typically the main branch. Next, use git merge and specify the name of the other branch to bring into this branch. This example merges the jeff/feature1 branch into the main branch.

Does git merge change both branches?

No, merging does only affect one branch.

How do I merge changes from one branch to the main?

First we run git checkout master to change the active branch back to the master branch. Then we run the command git merge new-branch to merge the new feature into the master branch. Note: git merge merges the specified branch into the currently active branch.


1 Answers

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.

like image 167
knittl Avatar answered Oct 06 '22 17:10

knittl