Git篇-1.git stash(如何在本地当前分支修改而不影响其他分支)

时间:2024-05-20 15:19:36

问提:

  • 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
    Git篇-1.git stash(如何在本地当前分支修改而不影响其他分支)
  • 2 在弹出的对话框中填入相应的信息,点击OK,即可将当前的修改保存起来。
    include untracked:包含新增的文件
    all:会保存所有的文件,包括gitignore忽略的文件
    Git篇-1.git stash(如何在本地当前分支修改而不影响其他分支)
  • 3 现在看当前分支就没有需要提交的代码了,此时切换到master分支进行修改代码即可。
  • 4 恢复 切换到dev分支,依然右键TortoiseGit ,可以看到菜单除了StashChanges多出了Stash Pop 和 Stash List。
    Git篇-1.git stash(如何在本地当前分支修改而不影响其他分支)
    选择 StashList ,选择需要恢复的stash,执行stash apply。注意:如果是执行stash apply ,代码恢复列表后stashList中还会存在刚才恢复过的stash,需要执行DeleteRef或者clear stash将其删除。
    选择 stashPop,会选择stashlist中最新一条进行恢复,并且将其从stashlist中删除。
    Git篇-1.git stash(如何在本地当前分支修改而不影响其他分支)