我在我的磁盤上有一些GitHub項目,但其中許多項目沒有被激活使用。從git倉庫中刪除工作文件,以節省空間
我想暫時刪除工作文件,因爲它們存儲在提交歷史記錄中,所以我可以在稍後檢索它們。
刪除文件最簡單的方法是rm -rf *
但它有一些缺點:
- 如果我回來以後它不會刪除點文件如
.gitignore
- ,
git status
抱怨很多刪除文件。我必須研究是否應該進行這些清除,或者如果我剛剛刪除它們以暫時節省空間。
什麼是刪除工作文件的快捷方式?有沒有辦法乾淨地做到這一點?
我在我的磁盤上有一些GitHub項目,但其中許多項目沒有被激活使用。從git倉庫中刪除工作文件,以節省空間
我想暫時刪除工作文件,因爲它們存儲在提交歷史記錄中,所以我可以在稍後檢索它們。
刪除文件最簡單的方法是rm -rf *
但它有一些缺點:
.gitignore
git status
抱怨很多刪除文件。我必須研究是否應該進行這些清除,或者如果我剛剛刪除它們以暫時節省空間。什麼是刪除工作文件的快捷方式?有沒有辦法乾淨地做到這一點?
創建一個空的分支,似乎很好地工作:
創建一個空分支。我會稱它爲「空」。
git checkout --orphan empty
但是,並沒有刪除文件。手動操作:
git reset --hard
該分支還沒有真正存在。作出初步承諾確認:
git commit --allow-empty -m 'Empty commit'
現在所有的文件都沒有了,你是在體現這種情況的一個分支。
這個過程好東西:
git checkout master
git checkout empty
缺點再次切換回空分支:
如果你使用git 2.5。1或更高版本,則可以使用裸存儲庫,如果要檢查或使用其內容,請使用git worktree add /some/checkout/path branch
。
工作樹完全可以像標準的git克隆一樣工作,期望您在那裏運行的所有修改(提交,新分支,標記...)都可以應用到裸副本。
您也可以[將您的回購轉換爲裸倉庫](http://stackoverflow.com/questions/7380741/how-to-remove-working-tree-from-a-git-repository),但然後它贏了如此輕而易舉就可以檢出文件並像以前一樣工作。 – joeytwiddle
還有一些[其他技巧可以減少磁盤空間](http://stackoverflow.com/questions/1398919/make-git-consume-less-disk-space),包括[創建一個沒有歷史的淺層克隆](http://stackoverflow.com/questions/1398919/make-git-consume-less-disk-space#35356887)。 – joeytwiddle