美文网首页
GIT实操手册 —— 如何做到精准回滚

GIT实操手册 —— 如何做到精准回滚

作者: 顽皮的雪狐七七 | 来源:发表于2020-12-19 16:25 被阅读0次

    目录

    • 一、如何将在工作区中修改的文件进行回滚(git checkout)
      • 恢复单个文件
      • 恢复所有文件
      • 编译器:VSCcode 源代码管理
    • 二、如何将暂存区修改的文件进行回滚(git reset)
      • 恢复暂存区指定文件到工作区
      • 恢复暂存区所有的文件到工作区
      • 编译器:VSCcode 源代码管理
    • 三、如何将提交后的文件进行回滚(git reset、git revert)
      • 将刚提交的版本回滚到未提交状态
      • 回滚到以前指定版本
    • 四、远程机器如何进行回滚
      • 方法一:先git reset回滚到本地,然后再强制push到远程。
      • 方法二:先git revert将有问题的版本进行修正,生成新的版本,然后psuh到远程分支。
    • git reset VS git revert

    一、如何将在工作区中修改的文件进行回滚(git checkout)

    恢复单个文件

    git checkout -- README.md
    

    恢复所有文件

    git checkout .
    

    编译器:VSCcode 源代码管理

    image

    二、如何将暂存区修改的文件进行回滚(git reset)

    恢复暂存区指定文件到工作区

    git reset README.md
    

    恢复暂存区所有的文件到工作区

    git reset
    

    编译器:VSCcode 源代码管理

    image

    三、如何将提交后的文件进行回滚(git reset、git revert)

    将刚提交的版本回滚到未提交状态

    git reset HEAD^
    git reset @^
    

    Tips:这个命令是将提交后的文件回滚到工作区的状态,如果修改之后需要再次git add .

    回滚到以前指定版本

    git reset commitID
    git revert -n commitID
    

    四、远程机器如何进行回滚

    方法一:先git reset回滚到本地,然后再强制push到远程。

    不建议,可能没有权限,危险操作

    git reset commitID
    git push -u origin master -f
    

    方法二:先git revert将有问题的版本进行修正,生成新的版本,然后psuh到远程分支。

    相当于打补丁,建议使用

    git revert -n commitID
    # 手动处理冲突
         # if 处理冲突完毕
         git revert --continue
         # if 退出不处理冲突
         git revert --abort
    # 进入vim界面 编写commit describe并保存
    git push origin master
    

    git reset VS git revert

    上面回滚中用到了 git resetgit revert 两种方法,下面进行一下分析:

    比较 相同点 不同点
    git reset 可以进行回滚操作 git reset回滚之后commitID后面的版本就没有记录了。
    如果想要回滚到未来节点,要知道未来节点的commitID
    所以在回滚前最好先知道当前的commitID
    git revert 可以进行回滚操作 git revert回滚操作之后,会进行文件的手动去留,
    然后新生成一个版本号,之前的提交还是在的。

    相关文章

      网友评论

          本文标题:GIT实操手册 —— 如何做到精准回滚

          本文链接:https://www.haomeiwen.com/subject/dkdcnktx.html