2016-04-13 18 views
1

我有一個/static目錄,其內容由我的腳本自動生成。如何添加到git一個空目錄,其內容會被腳本定期自動清空?

我需要將其包含到存儲庫中,因爲此存儲庫是用於docker部署環境的映像,並且docker構建方案假定存在此目錄。

因此,如果我只是在其中放入一個.gitignore.gitkeep文件,它將在下次我的腳本自動填充該目錄時被掃描。我該怎麼辦?

+0

...修復腳本? :-) – torek

+0

將Docker構建方案更改爲不假定該目錄存在。 Git不是一個構建和部署工具,確保構建和部署是他們的工作之後存在空目錄。 – Schwern

回答

0

把它放進父母的.gitignore

echo "static/*" >> ../.gitignore

Git無法跟蹤的空目錄,這就是爲什麼.gitkeep文件被使用,它更是一個慣例,然後別的。這個名字是任意的。因此,如果您創建了/static並在其中放置了.gitkeep文件(或任何其他文件),然後將static/*記錄添加到父母的.gitignore,那麼您應該很好。

+0

問題是這個'.gitkeep'將被我的腳本清理。 –

0

您不能:

目前的Git指數(分段區)只允許文件要上市,沒有人有足夠能力做出改變,以允許空目錄的設計已經足夠關懷對這種情況以補救它。 在添加文件時會自動添加目錄。也就是說,目錄永遠不必被添加到存儲庫,並且不會自行跟蹤。 你可以說「git add」,它會在那裏添加文件。 如果您確實需要在結帳時存在目錄,則應在其中創建一個文件。 .gitignore適用於此目的(也有一個使用.NET框架的工具MarkEmptyDirs,它允許您自動執行此任務);您可以將其保留爲空或填寫您不希望顯示在目錄中的文件的名稱。

cite

有,雖然提供給你一些解決方法。最常見的情況是在該文件夾中添加.gitkeep.gitignore文件並強制腳本不刪除它。