Give a commit a new parent
Given I have these logical commits on two branches:
```
normalbranch: A - B - C - D
funkybranch: Z - Y - X
```
``` sh
git co normalbranch
git rebase --onto X C
```
Then the logical commits of `normalbranch` will now be:
```
normalbranch: Z - Y - X - C - D
```
We've given commit `C` the new parent of `X`. `C`'s hash will change and `D`'s hash will change.
I use this when I build on top of a branch that I've already submitted for a PR. That branch will get merged into the new root branch, and then I'll need the new parent on the root branch for the commits that I'm currently working on.
chriserin
May 22, 2019