Git教程——臨時修改 (stash)

1.前言

想想有天在開開心心地改進代碼, 突然接到老闆的一個電話說要改之前的一個程序. 怎麼辦? 雖然還需要很久時間才能改進完自己的代碼, 可我有強迫症, 又不想把要改的程序和自己改進代碼的部分一起 commit 了.

這時 stash 就是我的救星了. 用 stash 能先將我的那改進的部分放在一邊分隔開來. 再另外單獨處理老闆的任務.

2.暫存修改

假設我們現在在 dev 分支上快樂地改代碼:

$ git checkout dev

在 dev 中的 1.py 中加上一行 # feel happy, 然後老闆的電話來了, 可是我還沒有改進完這些代碼. 所以我就用 stash 將這些改變暫時放一邊.

$ git status -s
# 輸出
 M 1.py
------------------ 
$ git stash
# 輸出
Saved working directory and index state WIP on dev: 1d3b96c change 3 in dev
-------------------
$ git status
# 輸出
On branch dev
nothing to commit, working directory clean  # 乾淨得很

在這裏插入圖片描述

3.做其它任務

然後我們建立另一個 branch 用來完成老闆的任務:

$ git checkout -b boss

# 輸出
Switched to a new branch 'boss' # 創建並切換到 boss

在這裏插入圖片描述
然後苦逼地完成着老闆的任務, 比如添加 # lovely boss 去 1.py. 然後 commit, 完成老闆的任務.

$ git commit -am "job from boss"
$ git checkout master
$ git merge --no-ff -m "merged boss job" boss

merge 如果有衝突的話, 可以像上次那樣 解決.
通過以下步驟來完成老闆的任務, 並觀看一下 master 的 log:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章