git stash的用处

在实际项目开发中,总会遇到代码写到一半(没法去打commit),去开启新的分支 修复 Bug 或者 增加功能 的情况。如果不处理,未修改的代码就会被带入临时创建的新的分支,没写完的代码 和 要修复的代码混合在一起,绝对苦逼。而 Git 中的stash就是用来对付这种情况。

初识git stash

stash在英文意思是隐藏。它的作用也是隐藏没完成的代码,防止它干扰 别人 或者 新分支的工作。

关于git stash,常用命令如下:

命令名 作用
git stash 隐藏当前的工作现场, 此时, git status的结果是 clean
git stash list 查看所有隐藏, 每一行的冒号前面的字符串就是标识此隐藏的id
git stash apply <id> 重新显示标识为 id 的隐藏
git stash drop <id> git apply恢复隐藏后, 需要手动删除 list 列表中的记录
git stash pop Apply last stash and remove it from the list

应用与实战

比如当我在 master 分支上进行开发时,没完成、没提交。同事发现 hello.py 这个文件有问题,让给我紧急进行修复。而后我意识到就是开一个 debug 分支来处理 bug。但是,现在的文档没完成,自然无法提交,又不能把没提交的东西带入到新创建的 debug 分支。所以目前,status 如下:

68747470733a2f2f7374617469632e676f64626d772e636f6d2f696d616765732f4769742f73746173682545382541372541332545362538332539312545342542382538452545352541362539392545372539342541382f312e706e67.png

为了达到目的,分为以下几步:

  • 隐藏修改:git stash
  • 创建新分支:git branch debug
  • debug分支上修复 bug, 并且将修改添加到 log 中 。
  • 回到master分支, 合并debug分支的修改, 并且删除 debug 分支 。
  • 重新显示隐藏的stash,并且将其从stash list列表中删除 。
  • 然后就可以愉快地继续做自己的事情啦!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。