當我有.gitignore data/*
並運行git clean -fd
時,數據文件夾及其所有內容文件被刪除。如何在git clean -fd中保留所有被忽略的文件?
我想要的是刪除所有未經修復的git倉庫中的文件,同時排除所有被忽略的文件(即不要刪除gitignored文件)。我能做什麼?
當我有.gitignore data/*
並運行git clean -fd
時,數據文件夾及其所有內容文件被刪除。如何在git clean -fd中保留所有被忽略的文件?
我想要的是刪除所有未經修復的git倉庫中的文件,同時排除所有被忽略的文件(即不要刪除gitignored文件)。我能做什麼?
Git通常不會清除被忽略的文件,除非您指定-x
標誌,但奇怪的是,它會在按照您的設置進行配置時清除(folder/*
)。
正如@VonC評論說的那樣,您應該將.gitignore
更改爲忽略目錄(data/
)而不是其中的內容(data/*
)。
這是一個微妙的差異,但重要的是混帳。
默認情況下'git clean' *不應該*刪除被忽略的文件。 (你必須指定'-x'選項來刪除被忽略的路徑。) – Amber
如果你的'.gitignore'包含'data /'而不是'data/*',你會觀察到同樣的問題嗎? – VonC
@Amber我曾經這麼認爲。但似乎git clean不會刪除被忽略的_files_,而會刪除被忽略的_folders_(及其內容)。 –