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

目录

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

    • 恢复单个文件
    • 恢复全部文件
    • 编译器:VSCcode 源代码管理
  • 2、如何将暂存区修改的文件进行回滚(git reset)vim

    • 恢复暂存区指定文件到工做区
    • 恢复暂存区全部的文件到工做区
    • 编译器:VSCcode 源代码管理
  • 3、如何将提交后的文件进行回滚(git reset、git revert)bash

    • 将刚提交的版本回滚到未提交状态
    • 回滚到之前指定版本
  • 4、远程机器如何进行回滚spa

    • 方法一:先git reset回滚到本地,而后再强制push到远程。
    • 方法二:先git revert将有问题的版本进行修正,生成新的版本,而后psuh到远程分支。
  • git reset VS git revert

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

恢复单个文件

git checkout -- README.md

恢复全部文件

git checkout .

编译器:VSCcode 源代码管理

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

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

git reset README.md

恢复暂存区全部的文件到工做区

git reset

编译器:VSCcode 源代码管理

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

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

git reset HEAD^
git reset @^
Tips:这个命令是将提交后的文件回滚到工做区的状态,若是修改以后须要再次 git add .

回滚到之前指定版本

git reset commitID
git revert -n commitID

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

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

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

git reset commitID
git push -u origin master -f

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

至关于打补丁,建议使用blog

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 两种方法,下面进行一下分析:ip

比较 相同点 不一样点
git reset 能够进行回滚操做 git reset回滚以后commitID后面的版本就没有记录了。<br/>若是想要回滚到将来节点,要知道将来节点的commitID。<br/>因此在回滚前最好先知道当前的commitID
git revert 能够进行回滚操做 git revert回滚操做以后,会进行文件的手动去留,<br/>而后新生成一个版本号,以前的提交仍是在的。
相关文章
相关标签/搜索