git stash使用

关于Git Stash的详细解释,适用场合:
使用git的时候,我们往往使用branch解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码, 如果别人或者自己发现原有的分支上有个不得不修改的bug,我们往往会把完成一半的代码 commit提交到本地仓库,然后切换分支去修改bug,改好之后再切换回来。这样的话往往log上会有大量不必要的记录。其实如果我们不想提交完成一半或者不完善的代码,但是却不得不去修改一个紧急Bug,那么使用'git stash'就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这个时候stash命令就大有用处了,前提是我们的代码没有进行commit,哪怕你执行了add也没关系,我们先执行git stash命令,什么意思呢?意思就是把当前分支所有没有commit 的代码先暂存起来,这个时候你再执行git status你会发现当前分支很干净,几乎看不到任何改动,你的代码改动也看不见了,但其实是暂存起来了。执行git stash list你会发现此时暂存区已经有了一条记录。这个时候你可以切换会其他分支,赶紧把bug修复好,然后发布。之后一切都解决了,你再切换回来继续做你之前没做完的功能,但是之前的代码怎么还原呢?git stash apply你会发现你之前的代码全部又回来了,就好像一切都没发生过一样,紧接着你最好需要把暂存区的这次stash记录删除,执行:git stash drop就把最近一条的stash记录删除了,是不是很方便?其实还有更方便的,你可以使用:git stash pop来代替apply命令,pop跟apply的唯一区别就是pop不但会帮你把代码还原,还自动帮你把这条stash记录删除,省的自己再drop一次了,为了验证你可以紧接着执行git stash list命令来确认是不是已经没有记录了。而且我们可以多次将未提交的代码压入到栈中,当你多次使用'git stash'命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,'git stash list'命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用'git stash apply stash@{1}'就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用'git stash clear'来将栈清空。

常用git stash命令:
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash save 'message':备份工作区内容,同时添加备注信息。
git stash save -a "messeag" :没有加 -a 这个option选项,代码开发可能是在原代码上进行修改的。而对于在项目里加入了代码新文件的开发来说,-a选项才会将新加入的代码文件同时放入暂存区。
git stash apply: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。但是不会将该stash记录删除
git stash drop: 把最近的一条stash记录删除。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复,同时会删除这条stash记录,相当于git stash apply和git stash drop一起执行了。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈,原来存储的所以stash的节点都消失了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 16,050评论 5 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 9,386评论 0 11
  • 一、电脑本地初始化一个仓库 1. git init: 初始化一个电脑上本地仓库 终端进入项目目录,输入: 该命令将...
    dragon_li阅读 8,092评论 1 4
  • 或日:“识人不易,忠奸难辨。”然奸不自招,忠不自辩。奸或伪忠以博名,忠而藏奸以得利。无智无以成奸,其智阴也...
    老武闲聊阅读 4,272评论 0 0
  • 当世事不再完美,能否在岁月如歌中找到你。 当我们在怀念高考时,我们在怀念些什么? 呐,下面是朋友圈和空间里的回复:...
    三禾日寒阅读 1,683评论 0 1