IDEA切換git分支時如何使用git stash


切換分支彈出提示:Force Checkout / Smart checkout

打開幫助文檔原文如下:

翻譯大意如下:

多任務(就是多分支)開發時,經常需要在分支之間切換跳轉來提交無關聯的修改

在idea上做分支切換時會發生什么,取決於你的本地尚未commit的修改和將要checkout的分支是否有沖突

如果idea設置開啟了"Restore workspace on branch switching"選項(Settings-Version Control-Confirmation),idea會保存你當前的context,當你切換到一個不同的分支(比如A),idea自動恢復這個分支(A)的context

如果你的working tree是clean的(就是說沒有uncommited changes),或者你的本地修改與將要切換到的分支沒有沖突,分支將會正常checkout(底下會有個提示)

如果你的本地修改將會被checkout的分支覆蓋,idea將會阻止你的切換操作,並列出將會被覆蓋的文件列表,建議你選擇Force checkout 和 Smart Checkout

  如果選擇force checkout ,你本地的未提交的修改將會被覆蓋,你將丟失這些修改

  如果選擇Smart Checkout,idea將會stash 未提交的修改,checkout到新分支,然后再執行unstash 修改,如果此時unstash的時候發生沖突,將會提示你合並沖突

 

git stash適用場景

現在正在A分支下開發,這個時候在分支B上有一處bug要修改,需要從A切換到B,切換前需要將A分支修改的代碼提交,但此時A里面有未通過編譯的代碼

此時可以考慮用git stash將A分支上修改的代碼進行暫存

git stash 命令的作用就是將目前已經修改但是還不想commit的內容暫存下來,后續可以恢復繼續開發;作用的范圍包括工作區和暫存區中的內容

例如線上突然出現 bug,需要先切換到 master 分支,但當前分支的代碼做了修改又不想馬上commit,直接切換分支,會將當前分支的新增的代碼也添加到 master 分支,就可以使用 git stash

 

git stash 如何使用

 

 

 

 寫下備注,因為可能有多處stash,方便后面unstash的時候區分,點擊Create Stash

 切回分支之后再unstash還原回來:

 

 

 選擇之前暫存的記錄,勾選 Pop stash(還原完成后,會自動刪除這個 stash,不勾選不會刪除這個 stash)

點擊 Pop Stash ,工作區之前的代碼修改恢復回來


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM