问提:
- 1 在dev分支上修改某个功能(未完成时,如果完成直接提交不会有这个问题)
- 2 此时需要checkout到master分支修改代码
- 3 checkout 之后会发现在dev分支上修改的代码,此时在本地master分支依然有效
解决:
如果直接用git bash命令操作的话,请参考下边这篇博文
https://blog.****.net/qq_35414752/article/details/79897258
请参考这篇博文
这里介绍的是使用TortoiseGit 工具操作
- 1 在dev分支上右键 TortoiseGit->Stash changes
- 2 在弹出的对话框中填入相应的信息,点击OK,即可将当前的修改保存起来。
include untracked:包含新增的文件
all:会保存所有的文件,包括gitignore忽略的文件
- 3 现在看当前分支就没有需要提交的代码了,此时切换到master分支进行修改代码即可。
- 4 恢复 切换到dev分支,依然右键TortoiseGit ,可以看到菜单除了StashChanges多出了Stash Pop 和 Stash List。
选择 StashList ,选择需要恢复的stash,执行stash apply。注意:如果是执行stash apply ,代码恢复列表后stashList中还会存在刚才恢复过的stash,需要执行DeleteRef或者clear stash将其删除。
选择 stashPop,会选择stashlist中最新一条进行恢复,并且将其从stashlist中删除。