Git stash 存储本地修改
前言
我们在开发的过程中经常会遇到以下的一些场景:
当我们在 dev 分支开发时,可能需要临时切换到 master 拉分支修复线上 bug 或者修改其他分支代码,此时对于 dev 分支的修改,最常见的处理方式是将代码提交到远程后再切到对应的分支进行开发,但是如果 dev 分支的修改不足以进行一次 commit(功能开发不完整、还有 bug 未解决等各种原因),或者觉得提交代码的步骤过多,此时 dev 的修改就不好处理
在开发阶段可能某个分支需要修改特定的配置文件才能运行,而其他分支不需要,那么当我们在这个分支和其他分支来回切换的时候,就需要反复的修改、回滚对应的配置文件,这种操作也是比较低效且麻烦的
而我们通过 Git 提供的 stash 存储操作,可以将当前分支的修改或者开发常用的配置文件存储至暂存区并生成一条存储记录,在需要使用时通过存储记录的索引直接取出,无需额外提交或单独保存,可以有效的解决以上的问题
Git stash 使用流程
1. 存储修改:我们可以使用 git stash
对 dev 的修改进行存储,存储修改后会生成一条存储记录
2. 查看存储记录:通过 git stash list
查看存储记录列表,存储记录的格式为:
stash@{索引值}:WIP on [分支名]: [最近的一次 commitId + 提交信息]
3. 多次存储记录相同:如果多次存储修改的过程中没有进行过 commit 提交,存储记录除了 索引值
之外将会完全相同,此时我们就无法快速辨识存储记录对应的修改内容
4. 存储记录标识
为了解决存储记录无法辨识问题,存储修改时可以用 git stash -m '标识内容'
对存储记录进行标识
此时我们再查看存储记录列表,就可以看到存储记录的标识,此时存储记录的格式为:
stash@{索引值}:on [分支名]: [标识内容]
5. 恢复存储:当我们在其他分支完成开发再回到 dev 分支时,就可以通过 git stash apply index
将指定的存储记录恢复至工作区,index
是存储记录的索引,未指定则恢复第一条存储记录
6. 删除存储
对于不再需要的存储记录,可以通过 git stash drop index
删除指定的存储记录,此时我们执行 git stash drop
删除第一条记录后再使用 git stash list
查看存储记录就已经少了一条了
如果所有的存储记录都不需要,可以使用 git stash clear
清除所有存储记录
Git Stash 命令
查看存储记录
查看存储记录列表
git stash list
查看 最近一次
存储记录的具体修改内容,即修改了哪些文件
git stash show
查看 指定索引
存储记录的具体修改内容
git stash show index
git stash show stash@{index}
存储修改
直接存储修改
git stash
存储修改,并添加备注
git stash -m '备注内容'
恢复存储记录
恢复存储记录的修改内容
恢复 最近一次
的存储记录
git stash apply
恢复 指定索引
的存储记录
git stash apply index
git stash apply stash@{index}
删除存储记录
对不需要的存储记录进行删除,可以删除部分或全部
- 删除
最近一次
的存储记录
git stash drop
- 删除
指定索引
的存储记录
git stash drop index
git stash drop stash@{index}
- 删除所有的暂存修改
git stash clear
恢复并删除存储记录
恢复存储记录的同时删除对应的存储记录
- 恢复并删除
最近一次
的存储记录
git stash pop
- 恢复并删除
指定索引
的存储记录
git stash pop index
git stash pop stash@{index}
链接:https://juejin.cn/post/7269691627598479375
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。