1. 本地分支切換的時候(例如A切到B),會彈出來Restore workspace on branch switching 對話框,如果選擇是的話,在切換分支的時候,你在當前分支(A)所做的一些還未add或commit/push的文件改動(包括斷點等的設置)會帶到切換后的分支(B)上;
2. 如果本地工作空間沒有uncommitted changes, 分支會順利切換
3. 如果本地工作空間(分支A)有些文件會被分支B改動,IDEA會彈出對話框,讓你選擇Force Checkout 或 Smart Checkout;
如果選擇Force Checkout, 本地工作空間(分支A)的一些未提交的修改會被覆蓋(被分支B覆蓋),會有很大可能丟代碼!!!
如果選擇Smart Checkout,IDEA會先執行stash命令,貯存這些未提交的修改,然后checkout 到分支B,在切換到分支B后,unstash 這些修改,所以A分支本地的這些修改會帶到B分支上。