Git篇—建立A分支進行代碼修改,切換回master分支發現把A分支修改的內容帶到了master分支中

1、問題描述

  • 場景1:項目一期的工做完成並投入市場造成master主分支封板,二期開發會新建一個本地sit分支進行開發。這時市場上的版本出現了bug,要切回一期的master主分支進行修改代碼,發現sit分支中新增和修改的代碼出如今了master分支中。git

  • 場景2:小明擁有兩個本地分支A和B,兩個分支中都有LoginActivity.class文件,小明在A分支中修改了LoginActivity.class文件的內容,git checkout B後發如今分支A中修改的內容出如今分支B中。cdn

2、分析緣由

一、什麼場景下會出現

小明本來只有A分支,後來git checkout -b B生成了一個B分支;blog

小明的A和B分支都從遠程分支master下拉了一次版本,如今本地兩個分支的版本徹底同樣;md5

二、緣由是什麼

我想如今你們已經知道關鍵問題在哪裏了吧,就是兩個分支的版本徹底同樣,原來git checkout切換分支的時候,會對比當前分支的md5值,當兩個分支的md5值同樣的時候,git check就會帶着你的修改的內容去另一個分支。開發

3、解決方案

兩種方式二選一it

  • 一、可使用git stash把工做區空間的修改隱藏起來,就能夠切換到其餘分支了,而後使用git stash list查看stash,再用git stash pop stash@{0}應用並刪除該stash@{0}。
  • 二、將新分支的代碼修改以後,使用git commit提交到本地倉庫。
相關文章
相關標籤/搜索