Mob*_*erg 32
就在这里.如何在交互式rebase期间退回:
git rev-parse HEAD
git rebase --edit-todo
pick <hash from step 1>
git reset --hard HEAD^
现在你仍然在使用rebase,但是一个回复,你可以继续使用git rebase --continue
.如果您不希望在没有编辑的情况下直接选择撤消提交,则可以添加edit <HASH>
而不是添加pick <HASH>
到待办事项列表(步骤3).
附录:您可以记住更多的哈希值,重置为更早的点,并添加多个选择以重做多个提交.
这里解释得更清楚:http://arigrant.com/blog/2014/5/4/git-rebase-stepping-forward-and-back
实际上,即使您不进行交互式变基也可以。
正如 johnb003 在他的评论中提到的,在变基时,你实际上是在进行一系列新的提交。通过执行诸如 之类的操作git log --pretty=oneline --abbrev-commit
,您可以轻松查看已通过变基进行的所有提交。只需复制它们的哈希值以供以后轻松参考。
然后git rebase --abort
,git rebase -i <base_branch>
复制您想要保留的哈希值,edit
如果您想修改其中任何一个,可以将它们更改为,然后继续
不,马格努斯说.
然而,
rerere
(预先录制的冲突解决方案),以便它们能够以相同的方式自动解决随后的合并.请注意,这意味着您必须记住下次要以不同方式解决的部分(可能是首先进行后退的目标?)因为 - 好吧,rerere假设您想要再次应用相同的分辨率.如果你看一下rebase的实现,你或许可以找出GIT_WORK_TREE/GIT_DIR/GIT_INDEX的替代设置; 那么你可以使用plumbing命令和reflog来进行rebase-in-progress branch
?
--step-back
归档时间: |
|
查看次数: |
8890 次 |
最近记录: |