撤銷修改
1、如果當你修改了代碼,然后又發現修改錯誤以后,想撤銷前面的操作的時候該怎么辦呢?
既然錯誤發現得很及時,就可以很容易地糾正它。你可以刪掉最后一行,手動把文件恢復到上一個版本的狀態。如果用 git status 查看一下:
你可以發現,Git會告訴你, git checkout -- file 可以丟棄工作區的修改:
2、如果當你修改了代碼,已經add到暫存區而沒有進行commit操作的時候,想撤銷前面的操作的時候該怎么辦呢?
Git同樣告訴我們,用命令 git reset HEAD file 可以把暫存區的修改撤銷掉(unstage),重新放回工作區:
然后再通過第一種的情況來想撤銷前面的操作
小結
場景1:當你改亂了工作區某個文件的內容,想直接丟棄工作區的修改時,用命令 git checkout -- file 。
場景2:當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令 git reset HEAD file ,就回到了場景1,第二步按場景1操作。
場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考 版本回退 一節,不過前提是沒有推送到遠程庫。
刪除文件
在Git中,刪除也是一個修改操作,我們實戰一下,先添加一個新文件test.txt到Git並且提交:
一般情況下,你通常直接在文件管理器中把沒用的文件刪了,或者用 rm 命令刪了:
這個時候,Git知道你刪除了文件,因此,工作區和版本庫就不一致了, git status 命令會立刻告訴你哪些文件被刪除了:
現在你有兩個選擇,一是確實要從版本庫中刪除該文件,那就用命令 git rm 刪掉,並且 git commit :
現在,文件就從版本庫中被刪除了。
另一種情況是刪錯了,因為版本庫里還有呢,所以可以很輕松地把誤刪的文件恢復到最新版本:
轉載:http://www.open-open.com/lib/view/open1476069597550.html