文章目录
概要
开发时遇到的问题:一个新的功能开发到一半,常常会因为要解决一个bug而需要暂停目前开发的功能,因为git log每次最好提交一次的修改,因此,使用git stash将目前已经开发了部分的内容保存在堆栈中,随后保持一个干净的工作区非常重要。
架构分析
// TODO
适用情景
项目开发到一半时的git status:
需要保存当前开发的内容 git stash save “[chg]:修改awbm到一半。”:
git stash list查看缓冲区的内容;git stats查看工作区文件和上次git pull相比做了什么修改:
得到结论:git stash指令执行Git会将当前未提交的工作区和暂存区的修改打包成一个记录,并清空相应的工作区和暂存区,让你可以先切换到其他分支或者进行其他操作,而不必提交当前的修改。每个stash记录都有一个唯一的标识符,可以用于在之后的操作中引用该stash记录。
恢复缓冲区的数据:git stash apply -n(对应的标识符号)。如果恢复的文件与当前未提交的修改没有冲突,则可以直接恢复,否则需要通过处理文件中内容解决问题。 此时工作区与缓冲区已经恢复。
扩展的指令
命令名命令解释git stash隐藏当前的工作现场至缓冲区, 此时, git status的结果是 cleangit stash list查看所有隐藏的缓冲区, 每一行的冒号前面的字符串就是标识此隐藏的idgit stash apply重新显示标识为 id 的隐藏git stash dropgit apply恢复隐藏后, 需要手动删除 list 列表中的记录git stash pop恢复最新的进度到工作区。与git stash apply类似。对应的区别:这条指令在恢复的同时,会将对应的缓存在stash列表删除git stash pop stash@[stash_id]恢复指定的进度到工作区
小结
git stash 命令的常用的一些总结,以及什么情况下需要使用这条命令。
版权归原作者 huermosy 所有, 如有侵权,请联系我们删除。