天天看點

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. 要撤銷的内容已經推送到遠端倉庫

兄弟,自求多福吧…