在当前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记录下载到本地了。
- 1
3、【远程撤消】:此时本地文件已经回滚到刚刚commit 4449ee102…之后的状态,但是服务器仍然没有改变,需要继续远程回滚:
$ git push -f
这一步可能报错:
这是因为master分支受保护,处理方式是去掉这个保护。解决方法如下:
找到Branches----project setting --Protected Branches–去掉master的protected即可。
删除远程gitlab上的文件:
</div>
<link href="" rel="stylesheet">
</div>
转载来源:
在当前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记录下载到本地了。
- 1
3、【远程撤消】:此时本地文件已经回滚到刚刚commit 4449ee102…之后的状态,但是服务器仍然没有改变,需要继续远程回滚:
$ git push -f
这一步可能报错:
这是因为master分支受保护,处理方式是去掉这个保护。解决方法如下:
找到Branches----project setting --Protected Branches–去掉master的protected即可。
删除远程gitlab上的文件:
</div>
<link href="" rel="stylesheet">
</div>