我有一個/static
目錄,其內容由我的腳本自動生成。如何添加到git一個空目錄,其內容會被腳本定期自動清空?
我需要將其包含到存儲庫中,因爲此存儲庫是用於docker部署環境的映像,並且docker構建方案假定存在此目錄。
因此,如果我只是在其中放入一個.gitignore
或.gitkeep
文件,它將在下次我的腳本自動填充該目錄時被掃描。我該怎麼辦?
我有一個/static
目錄,其內容由我的腳本自動生成。如何添加到git一個空目錄,其內容會被腳本定期自動清空?
我需要將其包含到存儲庫中,因爲此存儲庫是用於docker部署環境的映像,並且docker構建方案假定存在此目錄。
因此,如果我只是在其中放入一個.gitignore
或.gitkeep
文件,它將在下次我的腳本自動填充該目錄時被掃描。我該怎麼辦?
把它放進父母的.gitignore
echo "static/*" >> ../.gitignore
Git無法跟蹤的空目錄,這就是爲什麼.gitkeep
文件被使用,它更是一個慣例,然後別的。這個名字是任意的。因此,如果您創建了/static
並在其中放置了.gitkeep
文件(或任何其他文件),然後將static/*
記錄添加到父母的.gitignore
,那麼您應該很好。
問題是這個'.gitkeep'將被我的腳本清理。 –
您不能:
目前的Git指數(分段區)只允許文件要上市,沒有人有足夠能力做出改變,以允許空目錄的設計已經足夠關懷對這種情況以補救它。 在添加文件時會自動添加目錄。也就是說,目錄永遠不必被添加到存儲庫,並且不會自行跟蹤。 你可以說「git add」,它會在那裏添加文件。 如果您確實需要在結帳時存在目錄,則應在其中創建一個文件。 .gitignore適用於此目的(也有一個使用.NET框架的工具MarkEmptyDirs,它允許您自動執行此任務);您可以將其保留爲空或填寫您不希望顯示在目錄中的文件的名稱。
有,雖然提供給你一些解決方法。最常見的情況是在該文件夾中添加.gitkeep
或.gitignore
文件並強制腳本不刪除它。
...修復腳本? :-) – torek
將Docker構建方案更改爲不假定該目錄存在。 Git不是一個構建和部署工具,確保構建和部署是他們的工作之後存在空目錄。 – Schwern