怎么回退gitlab不小心提交的代码

项目场景:

项目场景:有时候不小心提交了git代码到远程,但是这些代码并不是本次上线内容,如何回退远程gitlab代码


实现方法

1、【注意】为了防止你回退错误,首先基于你要回退的分支新建一个新的分支保存起来(相当于备份,万一错了还有备份可用,不至于导致无法挽回的错误而造成损失);
2、实现方法一:
在这里插入图片描述

D:\unicloud\pco-ui-mono-console-private (release/v20220401-UNI_OP_V3.2.1-0414 -> origin)
λ git reset --hard HEAD~1
HEAD is now at 037da02 54370 【导航栏】代维控制台下注册账号登录问题

D:\unicloud\pco-ui-mono-console-private (release/v20220401-UNI_OP_V3.2.1-0414 -> origin)
λ git push -f origin release/v20220401-UNI_OP_V3.2.1-0414
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for release/v20220401-UNI_OP_V3.2.1-0414, visit:
remote:   http://gitlab.rd.unicloud.com/unicloud/pco/pco-ui-mono-console-private/-/merge_requests/new?merge_request%5Bsource_branch%5D=release%2Fv20220401-UNI_OP_V3.2.1-0414
remote:
To http://gitlab.rd.unicloud.com/unicloud/pco/pco-ui-mono-console-private.git
 + 6e237e8...037da02 release/v20220401-UNI_OP_V3.2.1-0414 -> release/v20220401-UNI_OP_V3.2.1-0414 (forced update)

说明:
(1)本地代码回滚到上一版本(或者指定版本,比如第三个版本:git reset --hard HEAD~3)

	git reset --hard HEAD~1

(2)加入-f参数,强制提交,远程端将强制跟新到reset版本

	git push -f origin XXX分支

以上方法有时候会导致某个人提交的部分全部回退掉,一直到下一个人提交的代码为止,如下图所示:
在这里插入图片描述
这就不符合我想只回退最近一次提交的需求了,就有了下面的方法二。

方法二:

D:\unicloud\pco-ui-mono-console-private (feature/test-xiaoliang -> origin)
λ git log
commit 6e237e8c7dd6d07188bd06ae15fedf9dcdbdcfd9 (HEAD -> feature/test-xiaoliang, origin/release/v20220401-UNI_OP_V3.2.1-0414, origin/feature/test-xiaoliang, origin/feature/3.2.1-luliang, release/v20220401-UNI_OP_V3.2.1-0414)
Author: meinv <meinv@unicloud.com>
Date:   Thu Apr 14 11:13:25 2022 +0800

    fix:bug#54885

commit 7cde6cb727d42034a82bf84478db02ee3b6fbe90
Author: meinv <meinv@unicloud.com>
Date:   Wed Apr 13 10:47:17 2022 +0800

    fix:bug#54802

commit cafdcc9a0842a6410860ff49388bc7e69074c137
Author: meinv <meinv@unicloud.com>
Date:   Tue Apr 12 17:11:21 2022 +0800

    feat:自测问题修正

commit 270b9896d7ea19719edf0e2115626c269a75363e
Author: meinv <meinv@unicloud.com>
Date:   Tue Apr 12 16:26:11 2022 +0800

    fix:修正自测问题:密码过期+二次验证同时存在是

commit 67d474bb84b1ba1b356bb4fb9caa5fe80b5591cb
Author: meinv <meinv@unicloud.com>

D:\unicloud\pco-ui-mono-console-private (feature/test-xiaoliang -> origin)
λ git reset --hard 7cde6cb727d42034a82bf84478db02ee3b6fbe90
HEAD is now at 7cde6cb fix:bug#54802

D:\unicloud\pco-ui-mono-console-private (feature/test-xiaoliang -> origin)
λ git push origin HEAD --force
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for feature/test-xiaoliang, visit:
remote:   http://gitlab.rd.unicloud.com/unicloud/pco/pco-ui-mono-console-private/-/merge_requests/new?merge_request%5Bsource_branch%5D=feature%2Ftest-xiaoliang
remote:
To http://gitlab.rd.unicloud.com/unicloud/pco/pco-ui-mono-console-private.git
 + 6e237e8...7cde6cb HEAD -> feature/test-xiaoliang (forced update)

第一步:找到回退的版本

git log

查看需要回退到的版本,本次需要回退bug#54885,所以用是:7cde6cb727d42034a82bf84478db02ee3b6fbe90。

		【英文状态下按q退出】

第二步:git本地版本回退
git reset --hard commit_id

git reset --hard 7cde6cb727d42034a82bf84478db02ee3b6fbe90

第三步:远程版本回退

git push origin HEAD --force

在这里插入图片描述

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值