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提交到本地仓库。
相关文章
相关标签/搜索