我的git历史看起来基本上像这样
3
然后我通过交互式重新定位2
对master | 1 - 2 - 7 - 8 - 9
\
feature | - 3 - 4
进行了修改,现在我的历史记录看起来像这样
7
现在3
为8
,但通过编辑,5
为9
,6
为feature
。
有没有办法可以更改3
分支,以便{0}}被删除,4
从7
分支出来?
master | 1 - 2 - 7 - 8 - 9
\
feature | - 4
答案 0 :(得分:1)
只需重新绑定功能分支并删除提交:
git rebase -i --onto 7 master feature
# drop the commit 3 and save
# you may have conflicts when applying commit 4
答案 1 :(得分:0)
4
重新定位到7
,这可能就是您的意思,但4
将不再是4
,就像7
至9
一样}不再是3
,5
和6
。
对于提供的提交图,最简单的方法是
git rebase --onto 7 feature^ feature
将7
替换为合适的表达式,例如提交7
的SHA ID或给定图表中的master~2
。
如果这仅仅是一个示例,并且可能存在未知数量的提交,那么您可以使用master
作为上游而不是feature^
进行交互式rebase,然后标记像3
这样的提交是drop
ped而不是pick
ed。