前言

本章主要讲述自己遇到的一个关于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
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐