※ 引述《nakahusa (NA)》之銘言:
: 最近開始使用 Git,
: 也還算順手,真的挺方便的,
: 尤其是在同一個專案有兩件以上的待修改問題時,
: 可以自由切換,並會自動將所有檔案調整到該 branch 的狀態。
: 不過目前發現一個問題,
: 假設有 branch A 和 B,
: 在 B branch 時,如果 stage 裡檔案沒有進行 add 就 checkout 到 A branch,
: 檔案好像會發生錯亂的問題…
: 疑問是:在 checkout 之前,是否一定要將目前所在的 branch add 並 commit?
Hi
遇到這種情況 可以設想一下 如果你是git設計者 你該如何設計?為何最後是這樣?
如果沒有add也沒有commit的話 直接切換branch
原修改部份全部放棄掉?不可能這樣設計 會讓人氣死
原修改部份全部照搬到新branch上面?這樣設計也是可以 但非常confusing
很多時候我們切branch就是為了管理不同版本的code
這樣無差別自動幫你搬 如果在新branch上進行add又commit了
那再切回原branch時 該顯示什麼?很混亂吧
所以git就設計成逼你先處理完手邊的事再切branch
真要把修改照搬的話 逼你使用git stash與git stash apply
逼你手動處理這件事
以上 一些想法 供您參考