您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關IDEA 中使用Git Stash的方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
環境準備
為了演示,先用 IDEA 創建一個簡單工程,提交到 git 遠程倉庫當中。
dev-100 分支創建
現在接到了一個編號為 100 的需求,我們在 master 基礎上,創建 dev-100 分支
創建新分支 dev-100的同時,并切換到 dev-100 分支。
dev-100 分支代碼開發
在 dev-100 分支編寫需求編號為 100 的 功能,代碼完成后進行 commit
以及 push
(如果這個分支只有你一個人在開發的話,就不用 push
到遠程分支了,只需要 commit
即可)
分支合并
現在我們要把 dev-100 分支上的代碼合并到 master 主分支上
先切換到 master 分支
合并 dev-100 分支到 master 分支之前,建議先對 master 代碼進行 pull 更新操作,然后再執行 Merge into Current
如果沒有沖突,dev-100 中的代碼就會被合并到 master 分支上了,合并成功后,需要 push
才能推送到遠程倉庫
取消分支合并
合并完成后,但是由于一些問題,我們想要取消本次合并,右鍵 git,選擇 Reset HEAD
HEAD^ 是還原到上一個版本,HEAD^^ 是還原到上上一個版本。
Reset Type 有三種:
一般使用默認的 mixed 或者粗暴的 hard 方式。
我們這里是取消合并,所以選擇 Hard
方式,并且是HEAD^
還原到上一個版本,回退后恢復了原來 master 的代碼。
解決合并沖突問題
接下來演示合并沖突,此時是在 master 分支,我們修改文件,并 commit 以及 push 到遠程倉庫。
此時再把 dev-100 分支合并到 master 分支就會提示沖突。
雙擊沖突文件,處理沖突。
處理完成后,點擊 apply 即可,如果有多個沖突文件,都按照這種方式處理,這是我們處理完沖突之后的代碼。
dev-100 分支已經被成功合并到 master 了,就可以刪除了。可以直接刪除遠程 dev-100 分支,刪除時 IDEA 會提示是否同時刪除本地的 dev-100 分支,勾選即可。
現在我們把分支合并的結果 push 到遠程倉庫。
代碼暫存之git stash
編號 100 的需求完成之后,現在我們又接到一個新的需求,正在 dev-101 分支進行開發,開發還未完成。
突然線上出現 bug,需要我們緊急進行修改,于是我們要基于最新的 master 分支新建一個 bug 分支 bug-12,需要先切換到 master 分支,但是當前分支的代碼沒有commit, 如果直接切換到 master 分支的話,dev-101 分支上的新增代碼就會跑到 master 分支,而代碼又不能此時 commit ,于是就輪到 stash 出場了。
Stash 會保存當前工作進度,會把暫存區和工作區的改動保存起來。
添加備注,選擇 CREATE STASH。你會發現當前工作區內的代碼被恢復成了原樣。
代碼暫存還原
此刻切換到 master 分支,并創建 bug-12 分支進行修復 bug,修復完成后合并到 master 分支并 push 到遠程倉庫,上文已經演示如何合并,在此不再贅述。
將 bug-12 與 master 合并完成之后,現在要接著寫 dev-101 需求代碼,首先先切換到 dev-101 分支;
但是之前的代碼已經被我們放到了 git 的 stash 當中,我們現在要把代碼還原到工作區當中。
選擇 Unstash Changes
選擇之前保存的,同時勾選 Pop stash(還原完成后,會自動刪除這個 stash),確定后,工作區之前寫的代碼就又回來了。
結語
Stash 利用好了,就可以自如切換分支,面對突如其來的需求也不必煩惱了~
看完上述內容,你們對IDEA 中使用Git Stash的方法有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。