08/19 本篇章節
第五篇 · 19 章
開始使用 Git
- 01 新增、初始 Repository
- 02 把檔案交給 Git 控管
- 03 工作區、暫存區與儲存庫
- 04 檢視紀錄
- 05 【狀況題】如何在 Git 裡刪除檔案或變更檔名?
- 06 【狀況題】修改 Commit 紀錄
- 07 【狀況題】追加檔案到最近一次的 Commit
- 08 【狀況題】新增目錄?
- 09 【狀況題】有些檔案我不想放在 Git 裡面...
- 10 【狀況題】檢視特定檔案的 Commit 紀錄
- 11 【狀況題】等等,這行程式誰寫的?
- 12 【狀況題】啊!不小心把檔案或目錄刪掉了…
- 13 【狀況題】剛才的 Commit 後悔了,想要拆掉重做…
- 14 【狀況題】不小心使用 hard 模式 Reset 了某個 Commit,救得回來嗎?
- 15 【冷知識】HEAD 是什麼東西?
- 16 【狀況題】可以只 Commit 一個檔案的部份的內容嗎?
- 17 【冷知識】那個長得很像亂碼 SHA-1 是怎麼算出來的?
- 18 【超冷知識】在 .git 目錄裡有什麼東西?Part 1 僅收錄於電子書
- 19 【超冷知識】在 .git 目錄裡有什麼東西?Part 2 僅收錄於電子書
第五篇 · 開始使用 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 就行了。