1

We use Git for out repo. I've no idea how but my team's latest history ended up like this:

0                 master
 \
  1-2-3-4-5-6-7   branch1 & branch2

Notice how (thankfully) nobody has merged this with our master branch yet. Now, I want to split that to end up like this:

             5-6-7     branch2
            /     \
0  - - -  (*) - - (*)  master
 \       /  
  1-2-3-4              branch1

I'm not experienced with Git and I'd like to know how to achieve that

gbr
  • 1,264
  • 8
  • 27
CubanTurin
  • 177
  • 1
  • 10

1 Answers1

1

Assuming both branch1 and branch2 are pointing at 7, the safer option is to create another branch n_branch1 and do the following:

git checkout <sha_4>
# you'll now be in a detached head
git checkout -b n_branch1   
# Now go to master and merge n_branch1
git checkout master
git merge n_branch1
# Once branch1 commits are merged, apply branch2 on top of them.
git checkout branch2
git rebase master

Note: You could also reuse branch1 by reverting it to 4 (see here).

Ammar Husain
  • 1,789
  • 2
  • 12
  • 26