[Git] 好用的 git stash 相關指令介紹
前言
Git 是什麼!? 在這篇文章中,並不會去特別介紹,至於想知道它的運作原理,可以去參考五倍紅寶石創辦人高見龍先生所撰寫一書,請連結如下。
情境介紹
在寫 code 的時候,大家一定都會使用到 Git 相關指令協助開發,哪如果手上的 code 寫到一半,臨時突然有個 HotFix 又或是被老闆叫去協助另外一個功能的開發時,哪要怎麼辦嗎 !? 通常這個時候,會有兩種 Git 所提供的功能,這兩種功能,沒有分好壞優缺,完全取決於每個人的習慣,請看以下說明。
利用 git comment 目前的進度
這個方法很多人也會這樣做,跟五倍的大神們溝通聊天時,他們也會採取這個做法。
當手上的 code 寫到一半時,會利用git commit
把目前的進度 commit 起來,先去完成老闆的交代或其他事務。
屆時,在切回來該分支 Reset,輸入git reset HEAD^
,把剛剛 commit 的進度拆掉,就可以繼續原本的工作了。
利用 git stash 暫存的進度
像上面遇到的情況,除了利用 commit 的方法,然後再 Reset 回來,另一個作法是利用 Git 所提供的 Stash 功能。
先輸入git status
查看目前檔案的狀態。
目前正在編輯 FormObjectField.js and styles.scss 這兩個檔案。臨時有其他事情要優先去做,這個時候我們可以輸入git stash
把目前這兩個檔案的狀態先存起來,值得注意的是,如如果是新增的檔案,此時這個檔案還未被 git 存入,我們要輸入-u
又可以稱為 Untracked File 把它存入。
一直以來我都搞不懂什麼時候要加上
-u
這個參數,感謝五倍的詹森,上週二在默默會跟他聊天時,他就建議我把它想成 Untracked File,從此之後,我就記下來了。
目前分之的狀態,就跟 commit 一樣了。