天天看点

Git 学习笔记 06 - 撤销修改

Git 学习笔记 06 - 撤销修改

注:本文参照的是廖雪峰老师的Git教程

如果修改的内容时错的,想撤回,这时候按照不同的时期需要执行不同的操作;

1. 要修改的内容不在暂存区和版本库

  1. 一种是 readme.txt 自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  2. 一种是 readme.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

    这两种回退就是回退到最近一次 git commit 命令提交或者是 git add 命令添加进 Git 管理时的状态。

    这个时候如果想撤销回来可以使用命令:

    git checkout -- file

    命令中的

    --

    很重要,没有

    --

    ,就变成了“切换到另一个分支”的命令,后面学习分支管理中会再次遇到

    git checkout

    命令。
    注:
    file 是文件名
    -- 不是注释,是一个符号。
               

简单描述:

就是你修改了文件,但是没有使用 git add 命令添加进 Git 管理,你想舍弃这次修改,可以使用这个命令。

​ 还有一个就是你先是使用了一次 git add 命令添加进 Git 管理;但是你还没有使用 git commit 命令提交,这时你又进行了一次修改,但是这次修改还没有使用 git add 命令添加进 Git 管理;然后你又不想要第二次的修改了,也可以使用这个命令,但是这个命令只能撤回你的第二次的修改,第一次的取消不了;如果想取消第一次修改,看下面第二条。

Git 学习笔记 06 - 撤销修改

2. 要撤销的内容已经加入了暂存区但还未提交到版本库。

如果你修改了文件,然后使用 git add 命令添加进 Git 管理;,但是还未提交,这时你想撤销这次修改的内容。

这时可以使用命令

注:
<file>:文件名
           

用命令

git reset HEAD <file>

可以把暂存区的修改撤销掉(unstage),重新放回工作区,

这时候,如果你想要舍弃这次修改可以按上面的操作舍弃。

Git 学习笔记 06 - 撤销修改

3. 要撤销的内容已经提交到版本库,但是还没有推送到远程仓库

版本回退 可以解救你。

4. 要撤销的内容已经推送到远程仓库

兄弟,自求多福吧…