我将一些提交推送到feature_branch
并集成了父分支staging
的最新状态。然后,推了几个。
我没有使用rebase,现在我的feature_branch
历史记录如下:
feature_commit_Y
feature_commit_X
staging_commit_D
staging_commit_C
feature_commit_B
feature_commit_A
我怎样才能摆脱那些2次临时提交,这样我就可以拉动rebase,然后推动我未来的feature_commits到来?
答案 0 :(得分:1)
使用
git rebase -i HEAD~4
-i
选项将启动交互式rebase,HEAD~4
将包含最后4次rebase提交。注释掉提交将从要应用的提交列表中删除提交。然后,您可以继续使用feature_commit_X和feature_commit_y
答案 1 :(得分:1)
假设feature_commit_X
和feature_commit_Y
都是单一提交:
git checkout feature_commit_B
git cherry-pick feature_commit_X feature_commit_Y
git cherry-pick
将一组提交复制到当前分支。
无论如何:
git rebase --onto feature_commit_B staging_commit_D feature_commit_Y
这将从 staging_commit_D
之后的feature_commit_Y
开始“移植”提交到feature_commit_B
到feature_commit_Y
。如果您在regionprops
的位置使用分支名称,则此分支将会更新。