假設我有一個目錄結構如下所示:我該如何在目錄結構中使用gitignore文件,但維護目錄結構?
app/
uploads/
.gitkeep
images/
.gitkeep
videos/
.gitkeep
docs/
.gitkeep
我想保留目錄結構,但不包括內(除明顯.gitkeep
)的文件。該文檔說:
斜槓後跟兩個連續的星號,則斜線匹配零個或多個目錄。例如,「a/**/b」與「a/b」,「a/x/b」,「a/x/y/b」等匹配。
所以,我希望它可以做的伎倆:
/app/uploads/**
!/app/uploads/**/.gitkeep
這不但是工作。沒有任何子目錄被添加。
在我正在掙扎的實際使用情況, 'uploads'中有很多子目錄可以通過CMS進行管理。所以,如果我理解,你說我每次創建一個新的子目錄時都需要'git keep'。這裏沒有「通配符」解決方案嗎? – Jbird
是的,您需要爲每個想要保留的子目錄添加一個'.gitkeep'文件。你可以做的唯一通配符是默認情況下忽略所有這些子目錄,除了你專門用'git add -f'添加的文件。你可以編寫一個bash腳本來爲你運行git add命令。 – RyPeck
以及在每個文件上運行'touch'命令。這超出了你原來的問題範圍。 – RyPeck