Git版本回退的方式

今天遇到回退的问题,所以总结一下。

方式一:reset(不推荐)

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

在这里插入图片描述
操作步骤如下:

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

    139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96

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

    git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96

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

    git push -f -u origin develop

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

revert(推荐)

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

  1. 找到你误提交之前的版本号;
  2. git revert -n 版本号;
  3. git commit -m xxxx 提交;
  4. git push 推送到远程。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值