美文网首页
git stash的使用场景

git stash的使用场景

作者: 蝴蝶AD | 来源:发表于2019-08-28 18:06 被阅读0次

    当在一个分支上正在工作,突然被打断需要紧急修复一个线上的问题,bug可能在当前分支,也或许在另一个分支,但是手上的代码还没有到能够提交的地步,又不能回滚,所以需要与即将修复的所产生的代码进行一个隔离。就可以使用git stash命令啦。

    1、git stash

    表示将当前分支上的未提交的代码保存起来,也就是目录中蓝色未提交的文件将会变成修改之前的黑色。此时可以进行切换分支或者拉取当前分支最新的代码。这个暂存区是可以作用于所有分支的,是一块单独的区域,后续可以将暂存的内容恢复到任意分支。

    2、git stash save “这一stash的标签”

    例:git stash save "test3"
    表示将当前分支上的未提交的代码保存起来,同时会比第一个命令多一个标签。两种的对比如下:


    image.png

    蓝色的是git stash,没有加标签的
    黄色的 是git stash save "标签" 加了标签的

    3、git stash list

    表示查看所有stash,以一个列表展示,顺序是后来居上的。可以参考上方那张图

    4、git stash pop

    我们既然做了一个内容的暂存,那怎么使用的?比如线上bug解决完了,回来继续开发,需要把搁置的代码恢复出来,就可以在任何分支上使用这个命令,将会把最后添加到stash list的一个stash拿出来,恢复到当前分支上,并且会删除这一条记录。换言之,使用了pop只能把一个stash恢复到一个分支上,作用于多个分支就不太可能了。后面会说git stash apply可以弥补这个需求。

    5、git stash apply

    区别于 git stash pop的是恢复暂存区的代码之后,不会删除记录,仍然可以多次进行对于一条记录的恢复。

    6、git stash apply "stash的id" 例: git stash apply "stash@{2}"

    恢复指定的stash,默认是恢复最近一条

    7、git stash branch "branch name"

    从最近的一条stash进行创建一个新分支

    8、git stash clear

    清除stash列表里面的所有记录

    9、git stash show

    显示最近一条stash和当前工程的差异对比

    10、git stash drop + stash 名称 例:git stash drop stash@{2}

    清除指定的一条stash

    相关文章

      网友评论

          本文标题:git stash的使用场景

          本文链接:https://www.haomeiwen.com/subject/ubmmectx.html