GitLab回退到指定版本

首先:使用git log命令查看提交历史,找到想要回退的版本的commit id

或者登录gitlab网页版,查看commit记录。

使用git reset命令
第一步:git reset --hard 命令是强制回到某一个版本。执行后本地工程回退到该版本。
第二步:利用 git push -f 命令强制推到远程。

优点:干净利落,回滚到完全回到最初状态。
缺点:
(1)需要找到你要回滚的版本。如果在你合并后,又有很多提交记录,那你就很难找了;
(2)完全删除了你指定版本之后的代码,很难找回;
(3)如果在你回滚前,有人从该分支检出了代码,那么之后还会被合回来
(4)如果在你回滚前,有人提交了代码,那么你回滚后,他的代码就没了;
(5)该分支不能是“保护分支”,否则无法强制推送,必须找管理员来做这个事。

利用 git revert 命令
第一步:git revert --hard 命令强制回到某一个版本。执行后本地工程回退到该版本;
第二步:git push -f 命令强制推到远程。

两者区别:
1.reset是彻底回退到指定的commit版本,该commit后的所有commit都将被清除。而revert仅是撤销指定commit的修改,并不影响后续的commit;
2.reset执行后不会产生记录。revert执行后会产生记录。
3.英文释义,reset是重置,revert是恢复、还原的意思,作为coder,第一感觉reset的效果比revert更猛一些。

  • Git Reset*
    git reset 的作用是将 HEAD 指向指定的版本上去:

  • Git revert
    git revert是用来重做某一个 commit 提交的内容,在我们原始的提交之中,我们会发现分支上面有创建了一个新的 commit 提交,而此时我们对于想重做的某个 commit 提交的内容都不存在了:

posted @ 2024-04-02 13:50  花开富贵。  阅读(247)  评论(0编辑  收藏  举报