Today I Learned

hashrocket A Hashrocket project

Give a commit a new parent

Given I have these logical commits on two branches:

normalbranch: A - B - C - D

funkybranch: Z - Y - X
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.

See More #git TILs