📅  最后修改于: 2023-12-03 14:41:27.892000             🧑  作者: Mango
在使用 Git 进行项目开发时,你可能会遇到的一个情况是,在进行某个分支的开发时,需要暂时切换到其他分支修复一些紧急的 bug。这时候,你可能不希望直接提交当前分支的代码,而希望把修改内容暂存起来,切换分支后再回来继续开发。这时候,Git 提供了一个非常有用的功能叫做 git stash
。
git stash
的作用是将当前分支的修改内容暂存到一个临时区域中,然后将工作区还原到上一次提交的状态。这样,你就可以切换到其他分支进行操作,等到需要回到原来的分支时,再把之前暂存的修改内容恢复回来。具体来说,git stash
的实现步骤如下:
使用 git stash
很简单,只需要在当前分支下执行以下命令:
git stash
执行该命令后,你会发现控制台输出了一条提示信息:
Saved working directory and index state WIP on master: 0123456 add some feature
git stash
会自动对 commit 进行一个提交,这个提交的备注信息是 "WIP on <当前分支>: <上一次提交的 SHA-1 值> <上一次提交的备注信息>"
。这里的 WIP 是 Work In Progress 的缩写,表示这是一个未完成的工作提交,它包含了工作区和暂存区的所有修改内容。
如果你想在 stash 过程中添加一个备注信息,可以使用 -m
参数指定:
git stash save -m "add some new feature"
当你需要恢复之前暂存的修改内容时,可以使用以下命令:
git stash apply
执行该命令后,暂存区和工作区的修改内容都会被还原回来。
如果你有多个 stash,在恢复时需要指定要恢复的 stash 对象的序号(从 0 开始):
git stash apply stash@{1}
如果你想在恢复之后删除这个 stash 对象,可以使用以下命令:
git stash drop
如果你只想查看 stash 对象的信息,可以使用以下命令:
git stash list
在 Git 中使用 git stash
功能能够很好地解决临时的开发需求,让你的开发工作变得更加灵活。在操作上,只需要使用 git stash
暂存修改内容,再使用 git stash apply
恢复这些内容即可。需要注意的是,当你有多个 stash 对象时,需要指定要恢复的 stash 对象的序号。同时,建议在使用 git stash
时,给暂存的对象添加一个更具可读性的备注信息,以方便日后查找。