有空就來看看個人技術小站, 我一直都在
在實際專案開發中,總會遇到**寫到一半(沒法去打commit
),去開啟新的分支 修復bug 或者 增加功能 的情況。如果不處理,未修改的**就會被帶入臨時建立的新的分支,沒寫完的** 和 要修復的**混合在一起,絕對苦逼。而git中的stash
就是用來對付這種情況。
stash
在英文中的意思是:隱藏。在git**管理的過程中,它的作用也是隱藏沒完成的**,防止它干擾 別人 或者 新分支的工作。
關於git stash
,常用命令如下:
命令作用
git stash
隱藏當前的工作現場, 此時,git status
的結果是clean
git stash list
檢視所有隱藏, 每一行的冒號前面的字串就是標識此隱藏的id
重新顯示標識為id的隱藏
git stash drop
假設:正當我在 master 分支上寫著文件時候(沒有完成、沒有提交),同事發現hello.py
這個指令碼有問題,緊急報告給我進行修復。
收到報告,下意識就是開乙個 debug 分支來處理bug。但是,現在的文件沒完成,自然無法提交,又不能把沒提交的東西帶入到新建立的 debug 分支(執意如此,我也沒辦法 : ))。目前,status 如下:
為了達到目的,分為以下幾步:
隱藏修改:git stash
:
建立新分支:git branch debug
:
在debug
分支上修復bug, 並且將修改新增到log中 :
回到master
分支, 合併debug
分支的修改, 並且刪除debug
分支 :
重新顯示隱藏的stash
,並且將其從stash list
列表中刪除 :
然後就可以愉快地繼續做自己的事情啦!
在實際生產過程中,難免會遇到多個 stash 的情況。此時,他們的id預設都是:stash
,stash
,stash
... ...
當我們恢復乙個 stash ,並且將它從 stash list 中移除的時候,在其下方的 stash 記錄的id會自動變小,以保證id是從0到n的連續自然數列。所以,當從 stash list 移除乙個 stash 後,一些 stash 的 id 就會發生改變。此處是個坑。
Git實戰手冊 三 stash解惑與妙用
有空就來看看個人技術小站,我一直都在 在實際專案開發中,總會遇到 寫到一半 沒法去打commit 去開啟新的分支 修復bug 或者 增加功能 的情況。如果不處理,未修改的 就會被帶入臨時建立的新的分支,沒寫完的 和 要修復的 混合在一起,絕對苦逼。而git中的stash就是用來對付這種情況。stas...
GIT命令學習 暫存 stash
當對當前版本的文件進行修改後,而又想回到最初的版本進行一些額外的修改。這種應用場景很適用於早開發的過程中發現之前的 存在bug的情況並需要及時修改的情況。此時就可以使用stash命令,它會儲存當前的修改,並切換至head對應的提交版本處。git stash list 列舉暫存的所有條目,包括其名稱 ...
Git 中的stash功能
於 stash可以把當前工作現場 儲存 起來,等以後恢復現場後繼續工作。演示如下 1.檢視分支 有兩個分支master和subwork,當前的工作分支是subwork。git branch master subwork 2.檢視工作狀態 當前分支subwork上的工作尚未完成,如果有另一項任務需要優...