我有一個網站項目,有超過50,000個不重要的文件(開發)在一些目錄中。Git忽略刪除的文件
/website.com/files/1.txt
/website.com/files/2.txt
/website.com/files/3.txt
/website.com/files/etc.txt
/文件中的東西已經在回購。我想刪除本地副本上/文件中的所有文件,但我希望git忽略它,以便在執行Web服務器上的操作時不會將其刪除。
任何想法?
我有一個網站項目,有超過50,000個不重要的文件(開發)在一些目錄中。Git忽略刪除的文件
/website.com/files/1.txt
/website.com/files/2.txt
/website.com/files/3.txt
/website.com/files/etc.txt
/文件中的東西已經在回購。我想刪除本地副本上/文件中的所有文件,但我希望git忽略它,以便在執行Web服務器上的操作時不會將其刪除。
任何想法?
好吧我找到了解決方案。只需在子目錄中創建一個新的回購庫,父回購庫將忽略它們。
創建子回購是一種解決方案,但您應該使該子回購成爲submodule。
這樣:
git submodule update
」(即不填充「files
」內容git submodule init
後git submodule update
將足以找回RI ght版本的'files
'內容。下面的代碼適用於刪除以及修改後的文件,以便在您執行git狀態時忽略它。
git update-index --assume-unchanged dir-im-removing/
或特定文件
git update-index --assume-unchanged config/database.yml
Ignore modified (but not committed) files in git?
請注意:以上已刪除的文件,當你做的建議 「git的承諾-am」 包括被刪除的文件!
對我而言,一個解決方案就是不刪除文件,只是將其內容留空。這是我用來靜音.htaccess文件。
忽略整個目錄不起作用。我不得不這樣做:
for i in `git status | grep deleted | awk '{print $3}'`; do git update-index --assume-unchanged $i; done
我需要將'$ 3'更改爲'$ 2' git版本2.3.2 – crizCraig 2015-05-12 01:13:22
,將工作,但它的效果並不理想,在多個項目一簇樹枝/回購結束了。隨着項目清單變得越來越大,前進可能會變得很痛苦。我建議您更熟悉'.gitignore'和索引管理工具。我在上面的回答中有一個體面的教程。一旦你嘗試過一次,它真的很容易...... – MaurerPower 2012-06-03 02:36:27
@MaurerPower,雖然我很欣賞你的描述性答案,但是'git rm --cached'不符合我的要求。例如,如果我使用該命令,然後提交併推送。當我拉到另一臺服務器時,它仍然會從該服務器刪除這些文件,即使它沒有從原始服務器中刪除它們。我做了一個litte測試,這是我的結果:http://pastebin.com/5X0t1KGs – Petah 2012-06-03 03:09:44