2009-06-29 81 views
2

假設您的Git倉庫中已經存在一個已經提交的文件。無法讓Git詢問刪除文件的刪除

您只需通過

rm file 

被刪除的文件刪除的文件保留在你自己的Git回購雖然你沒有它。

我的老Git抱怨說,你不能在你之前提交git add/rm這個文件在類似的情況。我想回到相同的行爲。

如何讓Git不允許您提交而不解決文件存在的問題?

回答

4

關於使用什麼:

$ git commit -a 

git commit manual頁:

命令git commit -a首先查看你的工作樹,已修改的hello.c和刪除goodbye.c通知,以及爲你執行必要的git add和git rm。


如果你不想自動分辨率,但只是一個警告,一個「pre-commit hook」是爲了。

chmod a+x .git/hooks/pre-commit 

該腳本將測試

git ls-files -d 

輸出,並警告你刪除(但不是「git rm」 ED)文件

+0

更好的是,在預提交鉤子中解析'git diff-files --name-status'的結果:如果一行以D開頭,則退出並顯示一條警告消息 – VonC 2009-06-30 06:45:10

1

即使文件並不在文件系統中存在它存在於git倉庫中。有人克隆回購將獲得該文件,即使它不在您的盒子上。