在当前branch上多次commit代码并且push后,发现不符合要求,需要回滚到特定的版本。步骤如下:
0、切换到需要回退的分支

git checkout master

1、查找commitId

首先用命令行打开git项目路径,输入git log命令查看commit记录,如下:
在这里插入图片描述

$ git log
找到commitId是4449ee102…记录,这是执行上面命令后打印出来的信息:

commit 4449ee102…(这个ID就是我们需要回滚的ID)
2、找到需要回滚的commit,输入git reset --hard {commitId},将本地文件回滚:

$ git reset --hard 4449ee102…
HEAD is now at 4449ee102 add a constellation test case

注意:这只是本地撤消,如果已经push到服务器了,则此操作只回退了本地,服务器不受影响,下次git push要求先运行git pull,又将服务器的merge记录下载到本地了。

3、【远程撤消】:此时本地文件已经回滚到刚刚commit 4449ee102…之后的状态,但是服务器仍然没有改变,需要继续远程回滚:

$ git push -f

这一步可能报错:

在这里插入图片描述
这是因为master分支受保护,处理方式是去掉这个保护。解决方法如下:
找到Branches----project setting --Protected Branches–去掉master的protected即可。
在这里插入图片描述

删除远程gitlab上的文件:
在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐