場景1:項目一期的工做完成並投入市場造成master主分支封板,二期開發會新建一個本地sit分支進行開發。這時市場上的版本出現了bug,要切回一期的master主分支進行修改代碼,發現sit分支中新增和修改的代碼出如今了master分支中。git
場景2:小明擁有兩個本地分支A和B,兩個分支中都有LoginActivity.class文件,小明在A分支中修改了LoginActivity.class文件的內容,git checkout B後發如今分支A中修改的內容出如今分支B中。cdn
小明本來只有A分支,後來git checkout -b B生成了一個B分支;blog
小明的A和B分支都從遠程分支master下拉了一次版本,如今本地兩個分支的版本徹底同樣;md5
我想如今你們已經知道關鍵問題在哪裏了吧,就是兩個分支的版本徹底同樣,原來git checkout切換分支的時候,會對比當前分支的md5值,當兩個分支的md5值同樣的時候,git check就會帶着你的修改的內容去另一個分支。開發
兩種方式二選一it