有时,我们在一个分支上做了一些工作,修改了很多代码,而这时需要切换到另一个分支干点别的事,但又不想将只做了一半的工作提交。
git 为了帮我们解决这种需求,提供了 stash 命令。
stash 将工作区与暂存区中的内容做一个提交,保存起来,然后使用 reset hard 选项恢复工作区与暂存区内容。我们可以随时使用 stash apply 将修改应用回来。
一、添加改动到stash
$ git stash //对当前的暂存区和工作区状态进行保存。
$ git stash save “message” //使用save可以对进度添加备注。
$ git stash save -a “messeag” //-a 选项会将新加入的代码文件同时放入暂存区。
二、恢复改动
$ git stash pop //恢复最近的一次改动。
$ git stash lish //如果有多次stash操作,那就通过git stash list查看stash列表,从中选择你想要pop的stash。
$ git stash pop [–index] [] //–index 参数:不仅恢复工作区,还恢复暂存区; 指定恢复某一个具体进度。如果没有这个参数,默认恢复最新进度。
$ git stash pop --index stash@{0}
$ git stash pop 与 git stash apply 的区别:
$ git stash pop stash@{0} //恢复stash编号为0的进度。对应的stash id = 0会从stash list里删除
$ git stash apply stash@{0} //恢复stash编号为0的进度。对应的stash id = 0会继续保存在stash list里
三、删除stash
$ git stash drop stash@{id} //如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。
$ git stash clear //清除所有stash
GIT stash
最新推荐文章于 2024-06-14 09:00:00 发布