The target commit may have parents and descendants.
it needs to replace the old commit in place,
so it\'s not as simple as cherry
c
Okay, let's see if this helps.
WARNING:
Are you sure you want to do this? Scroll down if yes.
This is called graft point. You create a file .git/info/grafts
and have the following info:
Let's say you have this:
/---D
A---B---C
Now you want to replace B
with D
(without changing the commit id), you put this in graft:
It keeps the old commitid
, with the limitation stated above.