我有这样的历史:
A - B - M
\ /
C
A,B和M是主,C在功能分支上.
我犯了两个错误:
>我没有意识到公司遥控器在我做之前不接受合并提交.
>除了简单地解决冲突之外,我在Merge提交中改变了很多东西.
我想要改变,所以它看起来像A – B – C – M,C – M可能被压扁了.
我只发现one question on the internet which actually looked quite similar to my case,唯一的回应是“合并就好”.
我承认我仍然不是100%熟悉rebase语法,但是我告诉git重组的任何组合,无论有没有-p和/或-i,它要么说没有什么可以重新定义(noop)或者说它不是工作.
似乎合乎逻辑的选择是踩到C和rebase -ip master,但它并没有完全达到我的预期.
最佳答案 鉴于此历史:
A - B - M
\ /
C
在M,你软复位到B,然后提交,那么你最终会得到A – B – M’,这似乎是你想要的:
git checkout M
git reset B
git commit
分支的内容将保持不变,这些命令都不会改变,只有C从历史中消失,使其看起来像一个直的分支.