一、保留工作现场
在软件开发过程中,特别是一些团队任务较多,迭代较快,因此会存在已经上线的软件版本需要修复一些bug,但是当前又有正在开发的新迭代功能,线上版本的bug修复自然可能是1个或者多个,但是又不想影响到当前的功能,怎么办呢? 当然你可能会向导拉一个分支来修复bug,但是如果当前迭代的需求还没有提交到仓库中呢,而且功能可能只开放了一点,提交到仓库会带来更多问题,这时候我们就可以使用git stash来帮助我们
这个时候我们就可以用用git stash看看 当然也可以使用git stash save命令,使用这个命令可以在保存现场的时候添加注释。
我们再查看下工作区信息
很干净,像刚刚洗过一样,我们可以肆无忌惮的创建分支来进行bug修复了。
一阵啪啪啪,各种网上查资料...................................
总是把bug修复完测试OK上线了,截止撸啊撸代码迭代功能吧。
二、恢复现场
咦,bug搞得有点狠,忘记要恢复啥了,怎么办? 可以用git stash list列出所有现场
工作区是干净的,刚才的工作现场存到哪去了?用git stash list命令看看:
问题又来了,不记得之前修改的内容都有啥了,git stash show可以查看现场和现在分支的区别 什么?不够详细?好吧,放大招了 git stash show -p 好了,乖乖撸啊撸吧, 用git stash pop恢复吧
好耶,终于可以开心撸代码了
三、小结
唉,bug修的多,没精力了,没啥好小结的,给大招吧:
- git stash save “save message”: 给自己加点料,提醒一下自己。
- git stash list:不记得都干了啥了,全部都列出来吧。
- git stash show(-p):显示具体做了哪些改动,默认显示第一个stash存储,如果要显示其他存储,后面加stash@{$num},比如第二个git stash show stash@{1}。
- git stash apply:应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,添加git stash apply stash@{$num},比如第二个git stash apply stash@{1}。
- git stash pop:命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash存储,命令:git stash pop stash@{$num}。
- git stash drop stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}?:删除stash@{num}存储。
- git stash clear:删除所有缓存的stash存储。
- 新增的文件,直接执行stash是不会被存储的。需要先用git add命令将其添加到git暂存区,才可以被git stash保存。
|