git切换分支时,该分支的修改被带到另一个分支

前言

本章主要讲述自己遇到的一个关于git的小坑

1.坑点场景

master分支上已经有了稳定版的项目版本,并且我在develop分支上进行着新的需求的开发。在这个基础上,突然需要对master进行一点小修改。

2.理想解决思路

从develop分支切换到master分支,进行修改后,push上去,再返回develop分支继续我的新需求开发。

3.遇到问题

在这个过程中,就遇到了本次文章要提到的小坑:
就是我在develop分支上创建了一些新文件,然后我在切换到master分支时,新创建的文件会被带到master分支上。
明明我都没去合并代码,但为什么在develop分支上面创建的文件会被带过去到master上面去,就很奇怪

4.实验探索

本着不解决不放过的原则,我在gitee创建了一个小项目,进行了一些小测试,上图:
这是我在master的目录结构
在这里插入图片描述
接着,我们切换到develop分支,并且创建个新文件newFile.txt,这是deveop的目录结构
在这里插入图片描述
然后,我们切回master分支
在这里插入图片描述
结果发现还真是这样的情况。在develop分支上面新建的文件会,在切换回master分支时会被带到master分支上
不仅如此,后来新建了其他的分支后,发现不仅是master,只要切换到哪个分支,原分支上的文件就会被带到切换的分支

5.找到原因

后来在度娘的帮助下,找到了原因:
原因是新建的文件没有纳入版本管理,所以会被带到切换的分支

6.解决办法

在知道原因后,其实解决办法也就出来了:
只要我们在切换分支前,先进行一次commit,就不会出现这种问题了

7.总结

这个小坑点困扰了我一个小时的时间,不知道还会不会有人会遇上这样的问题,所以就写成博客了。
其实这个坑点也不算太坑,只是我们平时可能会粗心一点,没有commit就进行了切换分支才会导致的,只要我们在心细点就好了。

8.其他解决思路

在开发过程中,如果遇到像上面那样的坑点场景,其他的解决思路也是有的:
一、可以新切个分支,把我们目前在develop的修改带到新分支,在新分支feature/xxx进行commit,再切回到master就可以了。完事后再切回develop把feature/xxx合并进来就行。

git checkout -b feature/xxx
git add .
git commit
git push
git checkout master
...master的修改操作
git checkout develop
git merge feature/xxx

二、可以利用git stash暂存起来,然后就可以切到master修改,完事后再切回develop把暂存的pop出来就行

git stash
git checkout master
...master的修改操作
git checkout develop
git stash pop
  • 80
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值