Git 保留空資料夾
.gitkeep的主要用途是:強迫 Git 追蹤並保留一個「空資料夾」——讓 clone 專案的人也能拿到必要的目錄結構,避免因找不到資料夾而報錯。
為什麼需要 .gitkeep?
Git 的設計本質上是追蹤檔案的內容變更,而不是資料夾本身。若專案目錄裡有一個完全沒有檔案的空資料夾,Git 在預設情況下會直接忽略它,不會把它提交(commit)到版本控制中。
但這在開發時常常會遇到以下困擾:
- 專案需要一個
logs/資料夾來放日誌,但本地還沒產生任何日誌。 - 需要一個
uploads/資料夾給使用者上傳檔案,但初始專案是空的。 - 若不把資料夾推上遠端,其他夥伴 clone 專案後,程式可能因「找不到該資料夾」而報錯(例如
Error: ENOENT: no such file or directory)。
為了解決這個問題,開發者習慣在空資料夾裡放一個佔位用的小檔案。只要資料夾裡「有檔案」,Git 就會把這個資料夾連同檔案一起放進版本控制中。