VS Code - Git 在 VS Code 中的基本應用

簡介在 VS Code 中查看檔案狀態


上一篇提到的 Git 傳送階段:


如果你使用 VS Code 開啟有導入 Git 並連結遠端 Repo 的專案時,左側會有 Git 面板可清楚查看你的檔案編輯狀態:


【Changes】-紀錄有變動的檔案(相當於第一階段 Working Directory)

  • 點 (1) 檔案名稱-檢視該檔且比對變動處
    超實用!每次完成一個功能時我會透過這個方式來逐一確認變動處。
  • (2) Open File 開啟該檔案
  • (3) Discard Changes 取消變更(直接將檔案恢復到更動前)
    不小心把某個檔案改爛了想砍掉重來嗎?不用再靠記憶力或提前複本啦!一鍵按下去直接恢復原版啦!
  • (4) Stage Changes 加入至暫存區:相當於執行 git add (file) 等於將檔案交到暫存區囉!

【Staged Changes】-暫存區檔案(= git add 進來的檔案)

透過git add 或前述的一鍵大法,就會發現有檔案跑進 Staged Changes 區了。

  • 在這裡點擊檔名一樣是檢視檔案比對變動處(但卻會呈現被鎖住的、無法編輯的狀態):

  • 想再退回前一個階段(移除暫存區),使用-按鈕相當於下指令 git reset (file)


好的,討厭 command-line 的同學們,靠 VS Code 這左側欄就可以不用 git add / git reset 了,但是原理還是要理解哦!話說用指令操作其實也有它方便的地方,例如變動了N個檔案時,使用git status 查看(如圖):


我只想 add 所有 js 資料夾底下的,這時使用指令下 git add js/

就可以很快速地只對特定資料夾進行 git add 囉!


commit!

前面會了 git add / git reset 來將檔案存放至暫存區。暫存區的概念可以想像成你包裝好的貨物陸續堆放在待出貨區,可以陸續地將改好的檔案堆在這,下個階段就是 git commit 提交成一個版本囉!

為什麼分兩階段? 試想你可能同時改多個功能、動到許多檔案,但某些功能要先提交,或者是已經確定沒問題不會再動了,這時有暫存區可以清楚區分這些已「預計可提交」的檔案,相當方便管理!

執行 git commit 作用檔案範圍是「暫存區的所有檔案」,有變動但未加到暫存區(也就是剛剛再 VS Code 的 [Changes] 內)的檔案是不會被 commit 的哦

當你 commit 之後會發現這裡就清空了,可知這裡所做的「更動比較」是跟「目前的 commit」 比較。

到此時都還只是在本地端的操作,直到執行 git push 才真正推送到遠端讓他人看得見。 (也就是在 push 之前發現 code 有問題都還可以在被看見之前手刀修改 XD~)


回想起自己剛用 VS Code、剛學 Git 還是沒發現這區面板的神奇妙用,當時用 command-line 操作 status / add / commit 也還不熟(所以到底在下什麼指令XD?),後來指令漸漸熟了,忽然也看懂這區面板了!新手上路先搞清楚傳送階段後,使用 command-line + VS Code 這區 source control + soucetree + 實際練習,就能手刀上手了!

參考資料

⮩ 本文同步發表在第 12 屆 iT 邦幫忙鐵人賽 《For 前端小幼苗的圖解筆記》