一、问题说明

在开发分支进行着功能开发,并有着未提交的修改项,这个时候想切换到其它分支做一些修改操作,如果直接切换,会将这些未提交的修改一起带到新分支,可能会出问题。我们不希望将当前分支修改带到其它分支,又希望切换回来的时候依然可以操作当前分支之前内容,怎么办呢?

二、解决方案

方案 1:commit 后再切分支

你可以先将当前分支的内容 commit 一下,这样切换分支后就不会有任何影响了。

方案 2:stash 功能:找个地儿先存放一下

有的时候我们一个功能没有开发完并不想将一半的功能提交到记录中,该怎么办呢 ?

你可以先找个地儿把这些修改存放一下,这样再切换分支就不会将内容带到其它分支了。

由于我一般用可视化工具 SmartGit 来操作,我就按照这个演示一下操作步骤,如果你是用命令方式也可以直接搜索相应的命令,功能都是相通的:

第 1 步:首先,我打出两个测试分支,并在 tmp1 上做了一些修改:

解决:Git 切换分支后将修改带到新分支问题

第 2 步:用 stash 功能存储一下

解决:Git 切换分支后将修改带到新分支问题

第 3 步:填写说明

解决:Git 切换分支后将修改带到新分支问题

可以看到增加了一条 stash 记录:

解决:Git 切换分支后将修改带到新分支问题

这个时候你可以随意切换分去,不用怕把修改带到其它分支。

第 4 步:恢复修改

在记录上右击,然后选择相应菜单:

解决:Git 切换分支后将修改带到新分支问题

解决:Git 切换分支后将修改带到新分支问题

解决:Git 切换分支后将修改带到新分支问题

这个时候你会发现我们之前修改的记录恢复了,左下角的 stash 记录也清除了。

我还是从前那个少年,没有一丝丝改变 ......

 

搞定 !

相关文章: