该答案假设您尚未推动master或您是唯一在项目上工作的人(在这种情况下,这并不重要)。如果您推送了master,而其他人则撤消了您的更改,则需要与他们进行沟通,以确保他们适当地更新了他们的存储库。
# Assuming you're on master
git branch <feature> <D> # Create a branch named <feature> at commit <D>
git rebase --onto <B> <D> master # Transplant branch
Git rebase文档对功能做了很好的图形化说明rebase --onto
。
如果您想rebase
完全避免,您应该可以
git branch <feature> <D> # Create a branch named <feature> at commit <D>
git revert <D> # undo D
git revert <C> # undo C
这将导致这样的历史
A-B-C-D-E-F-G-!D-!C
^ ^
feature master
检出master的任何人都将看到代码,就像从未发生过提交C和D一样,您在历史记录中只会进行几次还原。这是从已推送的分支中备份更改的首选方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句