当前位置:   article > 正文

git rollback代码都没了_git代码回滚操作 - vinci321的个人空间 - OSCHINA - 中文开源技术交流社区...

vs git怎么回退,代码没了

昨天说到用git reset进行回滚操作,还有git revert的操作,它们的区别如下:

git reset

git reset的作用是还原Index的状态或修改本地分支HEAD的位置。这个命令适合用于从某个提交点开始,重新开新的分支。比如,如果某个提交之后的代码我们都不要了,就可以在本地reset至指定commit,然后开一个新的branch继续新的开发(原来分支在远程上没有发生任何变化的)。

使用git reset是不影响远程分支的,一切都在本地发生。如果回退需要很快影响远程分支的,应该使用git revert。

两种情况

第一种情况:只是在本地commit,还没有push到远程分支,可通过以下命令实现:

git reset --soft|--mixed|--hard

git push 本地分支名称 远程分支名称 --force

这里的就是每次commit的SHA-1,可以在git log里查看到

--mixed: 只是将git commit和index 信息回退到某个commit版本,仍会保留该commit_id之后提交的代码

--soft: 只回退到commit信息到某个版本,不涉及index的回退,会保留源码,如果还需要提交, 直接commit即可.

--hard: 源码会回退到某个版本,commit和index 都会回退到某个版本. (这种方式会改变本地代码仓库源码)

当然有人在push代码以后,也使用 reset --hard 回退代码到某个版本之前,但是这样会有一个问题, 线上的代码仍是回退之前的,线上commit, index都没有变, 当你把本地代码修改完提交的时候你会发现全是冲突.....

git revert

假如某些旧提交我们不

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/734869
推荐阅读
相关标签
  

闽ICP备14008679号