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