← 上一章:【狀況題】追加檔案到最近一次的提交 下一章:【狀況題】有些檔案我不想放在 Git 裡面… →


【狀況題】新增目錄?

我剛剛新增了一個 images 目錄,但卻發現這個目錄好像沒辦法被加到 Git 裡面?

舉例來說:

$ git status
On branch master
nothing to commit, working tree clean

現在的狀態是剛 Commit 完,工作目錄也沒有任何修改。接著我建立一個 images 目錄:

$ mkdir images

再看一次狀態,會發現 Git 的狀態依舊沒有變化:

$ git status
On branch master
nothing to commit, working tree clean

請記得一件很重要的觀念,就是 Git 在計算、產生物件的時候,是根據「檔案的內容」去做計算的,所以光是新增一個目錄,Git 是沒辦法處理它的。

注意!

空的目錄無法被提交!

那怎麼辦?其實很簡單,就只要在那個空目錄裡隨便放一個檔案就行了。如果目前還沒東西可以放,或是不知道該放什麼檔案比較好,慣例上可以放一個名為 “.keep” 或 “.gitkeep” 的空檔案,讓 Git 能「感應」到這個目錄的存在:

$ touch images/.keep

然後再查看一下狀態:

$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

  images/

nothing added to commit but untracked files present (use "git add" to track)

就可以發現 Git 已經能感知到這個目錄的存在了(其實是感應到裡面那個 .keep 檔案的存在),接下來就照一般的流程來進行 add 跟 commit 就行了。


← 上一章:【狀況題】追加檔案到最近一次的提交 下一章:【狀況題】有些檔案我不想放在 Git 裡面… →

Comments