git将master分支的代码修改带到其他分支

今天在整理分支代码时,发现一个很神奇的问题,我在master分支上修改的代码没有提交,然后直接切换到dev分支,最后发现dev分支的代码和master分支修改后的代码一模一样,就感觉怎么这么神奇。
看了好多博客,才明白了,git里边是分区的。

git分区

工作区:就是直接进行操作的区域
暂存区:数据暂时存放的区域
版本库:存放已经提交数据的区域
在这里插入图片描述

上述情况出现的原因

修改的代码没有add也没有commit,因此这部分代码(没有add—>工作区,没有commit—>暂存区)属于公共的,也就是对于所有分支来说,工作区和暂存区是公共的,每个分支都可以共享的。

解决方法

第一种

将修改的代码直接commit

如果未修改完,暂时不着急提交代码

第二种

可以选择git stash,按照我自己理解,就是相当于一个入栈操作,就是将当前分支所做的修改先保存到栈中,然后切换好需要的分支之后,执行一次出栈操作,然后之前分支修改的东西自然而然的就到当前分支了,不需要你手动复制,而且手动复制还容易遗漏。

第二种方式的操作如下:

在这里插入图片描述
这两种方式都可以很好的处理上述问题。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐