git 版本回退


转载:https://www.cnblogs.com/aligege/p/10221174.html

使用git开发的过程中,存在误提交的时候怎么办呢?不用慌张,强大的git提供了两种版本回退的方式,可以让你恢复提交之前的内容:

方式一:reset(不推荐)

通过reset的方式,把head指针指向之前的某次提交,reset之后,后面的版本就找不到了

操作步骤如下:

1、在gitlab上找到要恢复的版本号,如:

139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 

2、在客户端执行如下命令(执行前,先将本地代码切换到对应分支):

git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 

3、强制push到对应的远程分支(如提交到develop分支)

git push -f -u origin develop

OK,现在到服务器上看到的代码就已经被还原回去了。这种操作存在一个问题,服务器上的代码虽然被还原了,但假如有多个人在使用,他们本地的版本依然是比服务器上的版本高的,所以,别人再重新提交代码的话,你撤销的操作又会被重新,你上面的操作也就白操作了。解决办法是,让别人把本地的分支先删掉,然后重新从服务器上拉取分支

 

 

方式二:revert(推荐)

这种方式不会把版本往前回退,而是生成一个新的版本。所以,你只需要让别人更新一下代码就可以了,你之前操作的提交记录也会被保留下来

 

操作步骤如下:

1、找到你误提交之前的版本号

2、git revert -n 版本号

3、git commit -m xxxx 提交

4、git push 推送到远程

OK,版本还原了,通知其他人更新一下代码吧

 

这个时候突然又发现不需要回退了,刚才那些消失的代码又要重新找回来了,别担心,咱们 Git 强大着呢!

 git reflog

    • 定义:查看命令操作的历史
       

       

       


      查找到你要的 操作id,依旧使用 上文说的 git reset --hard id。又回退到当初一模一样的版本啰!

 

 

转载 https://www.cnblogs.com/aligege/p/10221174.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM