Git: how to use rebase with theirs strategy

泄露秘密 提交于 2019-12-01 11:33:31

rebase isn't designed for what you want to do. The other poster was correct; what you want to do is set up a graft to attach B to A, then run git filter-branch to bake it into the commits. An example of this exact use case can be found in the git filter-branch manpage.

I'm not entirely sure I understand your question, but if your aim is to go from this:

o C (X)
|
o B

o A

to this:

o C' (X)
|
o B'
|
o A

then git replace --graft B A should do what you want.

N.B. B and B' have the same filetrees as each other, but different commit hashes because their parent commits are different. Likewise C and C'.

Why this has to be done via git replace --graft rather than git rebase -s theirs, I don't know. Presumably it is for hysterical raisins.

Also see: this answer to How do git grafts and replace differ? (Are grafts now deprecated?).

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!