我想新增一個放日記資料夾叫做 diary,新增完後想要提交 commit,卻出現以下訊息:
$ mkdir diary
$ git add diary
On branch master
nothing to commit, working tree clean
竟然說沒有要提交的檔案,用 ls
指令確認確實有新增 diary 資料夾,我們再用 git status
確認一次狀態:
$ git status
On branch master
nothing to commit, working tree clean
出現一樣的訊息提示,到底怎麼回事?
其實在學習Git(5)_-_檢視_commit_紀錄.md有提到 Git 在計算、產生物件時,會根據檔案內容來做計算,所以如果只有新增空資料夾,Git 無法處理所以沒辦法提交 commit。
但我還是想要先將 diary 資料夾提交 commit 怎麼辦?
可以先在資料夾裡面新增預計要新增的空檔案,或是暫時不想要有檔案顯示在資料夾裡面也可以新增以小數點開頭的隱藏空檔案,例如 .keep:
$ touch diary/.keep
$ git status
Untracked files:
(use "git add <file>..." to include in what will be committed)
diary/
nothing added to commit but untracked files present (use "git add" to track)
這樣 Git 就會因為 .keep 這個檔案而偵測到 diary 資料夾了,之後照一般流程執行 git add
和 git commit
就可以了。