1. 程式人生 > >(三)Git--檔案刪除

(三)Git--檔案刪除

在Git中刪除也是一個修改操作,我們實際操作如下:

$ git add .
$ git commit -m "add test.txt"
[master c291807] add test.txt
 1 files changed, 69 insertions(+), 16 deletions(-)
 create mode 100644 test.txt

一般情況下,我們直接在檔案管理系統中把沒用的檔案刪除了,或者使用rm命令刪除檔案:
$ rm test.txt
這個時候,Git檢測到你刪除了檔案,因此,工作區和版本庫就不一致了,git status命令檢視哪些檔案被刪除了:

$ git status
On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    test.txt

no changes added to commit (use "git add" and/or "git commit -a")

根據Git給出的提示,我們有兩個選擇,一是確實要從版本庫刪除檔案,那就使用git rm file刪掉,並且git commit:

$ git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"
[master 3fafa4a] remove test.txt
 1 file changed, 2 deletions(-)
 delete mode 100644 test.txt

現在,檔案就從版本庫刪除了.
另外一種情況是我們刪錯了,因為版本庫裡還有,因此可以輕鬆的把誤刪的檔案恢復到最新版本:
$ git checkout -- test.txt


git checkout其實就是用版本庫裡的版本替換工作區的版本,無論工作區是修改還是刪除,都可以快速復原.

小結
git rm file命令用於刪除一個檔案。
如果一個檔案已經被提交到版本庫,那麼你永遠不用擔心誤刪,但是隻能恢復到最新提交到版本庫的版本,提交之後的修改內容將會丟失。