[英]Remove several git commits from parent branch
我将一些提交推送到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个暂存提交,以便可以拉回基础,然后将将来的feature_commits推送到?
采用
git rebase -i HEAD~4
-i
选项将启动交互式变基,并且HEAD~4
将包括最后4个用于变基的提交。 注释掉提交将从要应用的提交列表中删除提交。 然后,您可以继续执行将应用feature_commit_X和feature_commit_y的变基
假设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
处使用分支名称,则该分支将被更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.