IDEA及gitlab 进行回滚

一、场景

本地提交了代码到master,并推送到主分支了。需要回滚到具体的某个节点。本篇博客主要是讲诉该场景的处理方案。

二、环境

软件版本
idea2021.1.3
gitlab

三、操作步骤

1、本地回滚

如果是idea可视化操作,可以直接切换到git log框,选中分支,然后再右键选择的commit信息,选择 Reset current branch to to Here,如图:

image.png

然后根据实际情况,选择回滚操作。一般是以下操作:

image.png

hard模式则会抛弃当前工作区的修改;

而soft模式则是:回退到之前的版本,但保留当前工作区的修改,可以重新提交。

如果是命令模式,则按照以下命令:

# 查看提交日志
git log

在这里插入图片描述
如上图,红框就是版本号。
然后找到要回滚的版本号,进行回滚的时候,执行以下命令:

git reset --hard <版本号>

或

git reset --soft <版本号>

至此,本地回滚部分已经完成。那假如之前的东西已经提交到远端,则需要按照第二步执行。

2、gitlab远端回滚

执行以下命令:

git push origin <分支名>

在执行上述命令的时候,可能会提示本地的版本落后于远端的版本,导致提交失败。因此我们还需要在上述命令中加上–force参数:

git push origin <分支名> --force

3、问题

强制提交报错,提示如下:

service>git push origin master --force
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
To service.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'service.git'

这个是因为gitlab对分支的保护,所以,需要先去掉对分支的保护,提交之后,再加入保护。如下:
在这里插入图片描述

posted on   枫夜求索阁  阅读(37)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示