今天我們要進入 加入索引、提交版本流程嚕!
✦首先我們要先知道以下四個指令。
✦Git中的檔案會有三種狀態:
這三者分別位於 Working Directory (工作目錄)
、 Staging Area (暫存端)
和 Repository (版本庫)
。
請看這張圖,是今天的精華喲!
而我們今天的流程就是 將工作目錄裡的資料修改完後(已修改),加入索引檢查確認完全沒問題後(已暫存),提交進我們的版本庫裡(已提交)
知道流程後,那我們就開始嘍!
想先說 git status
,這個指令是來查詢現在這個目錄的 「狀態」
。先讓大家看看工作目錄還沒有任何資料前的樣子是這樣的:
請先輸入 git status
--會看到 No commits yet / nothing to commit 表示現在還沒提交/沒東西可以提交。
所以我們要先新增檔案進去。
再輸入一次 git status
哦耶,看到我的檔案了!
好的,今天我的工作目錄修改完了,要提交到版本庫前要先加入索引。
輸入 git add .
記得要空格哦! .的意思代表全部
那我要怎麼知道新增成功呢
就是用剛剛學到的 git status
來查詢嚕!
--代表我們成功加入索引惹!
啊啊這時我不小心忘了一個檔案,所以又加入了新的檔案
--有成功加入索引的顏色為 綠色
; 沒有成功的是 紅色
。然後看到黃色框框,表示還沒有被追蹤的檔案。
那如果我要把新增的檔案也加入索引呢
很簡單,只要輸入 git add 檔案名稱.副檔名
就可以嚕!
--哦耶,成功惹欸!可以看到檔案從 Untracked 變成 new file 狀態(ノ>ω<)ノ
輸入 git add --all
的功能就跟 git add .
一樣喔~
*更新*
雖然 git add --all
的功能跟 git add .
一樣,但兩個還是會因為 Git 版本不同以及執行指令時的目錄而有所差異哦。
如果我們今天新增了一個 home.html 跟一個 JavaScript 的目錄,裡面有 all.js 的檔案的話。在根目錄上使用 git add .
,會全部加入索引。
但是 But 如果只有在 JavaScript 的目錄裡去做 git add .
的話,只會新增 all.js 而已哦,home.html不會被加進去,意思是你會 G___G
可以先看到我根目錄有一個子目錄跟一個 html 的檔案
如果我今天在 JavaScript01 的目錄去做 git add .
--可以看到 JavaScript01 目錄裡的 all01.js 新增進去了,但是 home02. html卻沒有
那今天使用 git add --all
呢?
--哇嗚,都新增進去了欸!!!
Git 版本不同的部分在於舊版(1.x 版)時,使用
git add .
不會對刪除檔案做處理,只會對新增檔案(不被追蹤的檔案)以及修改過的檔案可以加入索引(暫存區)而git add --all
全部都可以做到但現在新版(2.x 版)兩個功能都一樣嚕!
那如果你今天有多個 html 要新增進去呀,只要輸入 git add *.html
就可以了。
今天四個指令裡就學惹兩個了~剩下的明天繼續吧(́◉◞౪◟◉‵)
輸入 git add --all 的功能就跟 git add .一樣喔~
功能上是一樣的沒錯,但其實還是有一點點點點的微妙不同喔 :)
感謝大大指教,已做修改惹ε٩(๑> ₃ <)۶з