Git 學習筆記 06 - 撤銷修改
阿新 • • 發佈:2019-01-13
Git 學習筆記 06 - 撤銷修改
注:本文參照的是廖雪峰老師的Git教程
如果修改的內容時錯的,想撤回,這時候按照不同的時期需要執行不同的操作;
1. 要修改的內容不在暫存區和版本庫
-
一種是 readme.txt 自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
-
一種是 readme.txt 已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。
這兩種回退就是回退到最近一次 git commit 命令提交或者是 git add 命令新增進 Git 管理時的狀態。
這個時候如果想撤銷回來可以使用命令:
git checkout -- file
git checkout -- file
命令中的--
很重要,沒有--
,就變成了“切換到另一個分支”的命令,後面學習分支管理中會再次遇到git checkout
命令。注: file 是檔名 -- 不是註釋,是一個符號。
簡單描述:
就是你修改了檔案,但是沒有使用 git add 命令新增進 Git 管理,你想捨棄這次修改,可以使用這個命令。
還有一個就是你先是使用了一次 git add 命令新增進 Git 管理;但是你還沒有使用 git commit 命令提交,這時你又進行了一次修改,但是這次修改還沒有使用 git add
2. 要撤銷的內容已經加入了暫存區但還未提交到版本庫。
如果你修改了檔案,然後使用 git add 命令新增進 Git 管理;,但是還未提交,這時你想撤銷這次修改的內容。
這時可以使用命令
git reset HEAD <file>
注:
<file>:檔名
用命令git reset HEAD <file>
可以把暫存區的修改撤銷掉(unstage),重新放回工作區,
這時候,如果你想要捨棄這次修改可以按上面的操作捨棄。
3. 要撤銷的內容已經提交到版本庫,但是還沒有推送到遠端倉庫
版本回退 可以解救你。
4. 要撤銷的內容已經推送到遠端倉庫
兄弟,自求多福吧…