github之刪除檔案
阿新 • • 發佈:2019-02-03
1. 前言
如果我們學習資料庫的話,我們要學的是什麼?——“增刪查改”。
如果我們學習WebAPI的話,我們要學的是什麼?——“增刪查改”。
那麼,如果我們學習github的話,我們要學的是什麼?沒錯——“增刪查改”。
在這一章中,我們將講解github中的刪除的部分命令操作。
2. Git rm命令
這時用來刪除檔案的命令,如同Linux裡的命令一樣。
$ git rm file1.txt
這個命令必須是在提交到版本庫中以後才能夠執行的,否則的話:
1 如果這個檔案沒有提交到暫存區,它是不會被發現的:
$ git rm file1.txt
fatal: pathspec 'file1.txt' did not match any files
2 如果提交到暫存區了以後,還是沒辦法刪除:
$ git rm file1.txt
error: the following file has changes staged in the index:
file1.txt
(use --cached to keep the file, or -f to force removal)
3 如果這個檔案與版本庫中不一致,就刪除不了,除非強制刪除,如下圖所示:
$ git rm index2.html
error: the following file has staged content different from both the file and the HEAD:
index2.html
(use -f to force removal)
如果你只有一個檔案想要刪除,使用這個命令可以真正的從檔案系統中刪除了檔案,並且它會暫存這個檔案已經被刪除的事實,如果你提交了,這個檔案不會從之前的歷史中消失,但會從未來的提交中消失。
2.1 引數–cached
如果你想刪除這樣一個檔案,不想從檔案系統中真正的刪除它,就是用下面的命令:
$ git rm --cached file3.txt
換個說法,你想告訴Git,不再跟蹤這個檔案,但是把它保留在工作樹中,這可能是一種情況,你以外地提交了一個檔案,你並不想讓他成為歷史的一部分。它暫存了刪除,但是,他在那裡儲存了檔案,現在,在你的工作樹中,作為一個不被追蹤的檔案。
4. 小結
在這一章中,我們講解了如何刪除檔案的操作,當然還有像git ignore
這種操作我們將會在另一講中講解。下一章我們將介紹git的檔案的修改,下章見。