七叶笔记 » java编程 » 简单谈谈Git中的回滚操作

简单谈谈Git中的回滚操作

取前5条commit看看

临时切换到某个commit

有可能你并不需要回滚代码,你只想将代码库暂时切换到之前的某个版本,看看那个时候的实现,然后回来继续写之前没有完成的任务。比如想看看945a2f9这个commit,执行操作

再执行git branch

可以看到处于一个临时的分支上面,如果想以这个分支作为基础开发新的功能,可以创建一个新的分支进行开发。

如果想回到之前的的分支,只要checkout回去就好了。

当然如果在切回以前的commit的之前已经改了一些代码,可能不会那么顺利地切到之前的commit,可以

     使用reset将修改了的代码丢弃

     stash->checkout->stash pop将修改的代码找回来

     生成一个新的分支用于保存修改的代码

删除未发布的提交

如果确定要删除某几个commit,并且那几个commit的代码还没有提交到远程版本库里的话。

可以这样

再查看git log,就已经看不到945a2f9之前的commit记录了。

当然如果想保存当前没有提交的代码,可以和之前一样使用stash

注意:

reset --hard 一定要慎用!!

这回让你彻底丢失本地的代码(除非有备份过)

删除已发布的提交

假设代码已经提交到远程版本库了,这时应该使用revert命令,revert命令实际是提交一个新的commit来回滚之前的commit。还是以945a2f9为例,现在想让代码会滚到945a2f9的状态,那么需要revert掉之前的commit

或者可以这样做,revert掉HEAD的前三个commit

之后就可以将现在的HEAD push到版本库了。

如果发现之前revert操作错了,可以再执行一次revert来取消上次的revert。

总结

以上就是这篇文章的全部内容了,本文只是简单讲了一些我个人的一些操作实践。希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

相关文章