当前位置:   article > 正文

Git回退版本的几种操作_git回滚到指定版本

git回滚到指定版本

场景:当我们在使用Git进行版本控制时,可能会遇到以下几种需要回退版本的场景:

场景一:如果想将代码恢复到之前某个提交的版本,且那个版本之后提交的版本都不要了,这种场景常发生在合并分支时合并结果不符合预期,就可以使用 git rest(恢复到一个旧版本并且旧版本后的都不要)
  • 原理:git reset --hard命令会将HEAD指针、当前分支指针和索引区都移动到指定的commit ID,从而重置工作区为该版本。
  • 操作:
    1、查看版本号:git log查找历史或使用git reflog命令查找合并操作的commit ID,也可以上代码托管网页上查看history,找到需要回滚的目标版本号
    2、 使用git reset --hard 版本名命令将版本回退。此命令会将HEAD指针、当前分支指针和索引区都指向指定的commit ID,并重置工作区为该版本。
    3、使用git push -f提交更改,此时如果用“git push”会报错,因为我们本地库HEAD指向的版本比远程库的要旧,用“git push -f”强制推上去。
场景二:如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。(恢复到一个旧版本并且旧版本后的都保留)

我们commit了三个版本,突然发现版本2有bug,想要撤销版本2,但又不想影响版本3的提交,就可以用 git revert 命令来反做版本2,生成新的版本4,这个版本4里会保留版本3的东西,但撤销了版本2的东西。

  • 原理:git revert命令会生成一个新的提交,该提交会包含撤销指定提交的更改,从而达到回退版本的效果。
  • 操作:
    1、查看版本号:git log查找历史或使用git reflog命令查找合并操作的commit ID,也可以上代码托管网页上查看history,找到需要回滚的目标版本号
    2、
    (1) 使用git revert -n 版本号反做
    注意: 这里可能会出现冲突,那么需要手动修改冲突的文件。而且要git add 文件名
    (2)提交,使用git commit -m 版本名提交
    (3) 使用git push推上远程库:
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/322595
推荐阅读
相关标签
  

闽ICP备14008679号