[Git] 好用的 git stash 相關指令介紹

vita shela
VitaOra
Published in
3 min readApr 5, 2020

前言

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查看目前檔案的狀態。

圖 1

目前正在編輯 FormObjectField.js and styles.scss 這兩個檔案。臨時有其他事情要優先去做,這個時候我們可以輸入git stash 把目前這兩個檔案的狀態先存起來,值得注意的是,如如果是新增的檔案,此時這個檔案還未被 git 存入,我們要輸入-u 又可以稱為 Untracked File 把它存入。

一直以來我都搞不懂什麼時候要加上-u這個參數,感謝五倍的詹森,上週二在默默會跟他聊天時,他就建議我把它想成 Untracked File,從此之後,我就記下來了。

圖 2

目前分之的狀態,就跟 commit 一樣了。

--

--

vita shela
VitaOra
Editor for

在因緣際會之下接觸了Ruby,便覺得這個程式語言很有趣,而後又接觸了Rails 之後才發現,透過這兩者可以讓開發變得這麼有趣。就算是半路出家的我,也深深感受到開發的成就感及樂趣,我樂於學習及持續進步,希望有朝一日能成為同時精通前端設計和後端開發的工程師,因此正朝著全端開發的路上前進中。