繁体   English   中英

恢复git上次提交并将其保存在不同的分支中

[英]revert the git last commit and save it in a different branch

有没有办法回滚最后一次提交并将其放入一个单独的分支以供以后测试? 我做了一些我不想完全抛弃的更改,我只想将它们放在另一个分支中进行进一步测试。

谁能帮我这个?

是的,您可以实现此目的 - 远离当前分支并创建一个新分支以保留提交,签出回原始分支,然后回滚原始分支中的提交。

因此,从当前的分支,(让叫它current ),创建并检出一个新的分支separate

git checkout -b separate

这将创建一个 separate 的新分支 ,它将具有新的提交。 现在回到原来的分支

git checkout current

在此分支上,您现在可以回滚最后一次提交

git reset --hard HEAD~1

如果您以后想要访问旧的提交,则必须git checkout separate执行git checkout separate并且该提交应该在该分支中可用。

您可以分两步完成此操作,而无需在分支之间切换。 开始了。

  1. 从当前分支创建一个新分支,以保留当前状态:

     git branch feature_maybe 
  2. 恢复当前分支中的最后一次提交:

     git reset --hard HEAD^ 

是的 - 使用git checkout -b <new branch name>检查一个新分支,使用git checkout <original branch name>切换到原始分支,然后执行git reset --hard HEAD~1将原始分支移回提交。 (与移动分支时一样,最安全的是使用像gitk这样的程序一步一步地想象你正在做什么。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM