美文网首页git
【Git Tips】stash -- 存放修改内容,不提交也可以

【Git Tips】stash -- 存放修改内容,不提交也可以

作者: 二手认知 | 来源:发表于2019-10-15 12:25 被阅读0次

    命令:stash

    把工作空间的修改存放起来,从而保持工作空间的clean,完成操作后再恢复。

    场景:

    • 写了一些东西了,突然需要切换到其他分支(比如打个包?)
    • 本地有一些文件不能提交,也不方便写在.gitignore中,这个时候想用rebase的方式来pull代码(避免merge时产生的commit)

    你当然可以写一个commit,然后再reset;但使用stash(存放)是更合适的。

    用法:

    • 存放本地修改

    git stash

    • 还原之前存放的修改

    git stash pop

    场景Detail:

    切换分支的场景就不说了,很常规。
    下面说一下在本地修改未提交的情况下,如何使用rebase方式pull更新
    有些人不喜欢merge产生的commit,会给git时间线增加很多分叉,于是人们使用rebase来合并commit.
    如果你的操作严格地符合git规范,那么这个场景很正常,就没啥可说的了。可在实际开发中,我们常常会有这些的问题:

    一些本地文件不能提交,也不方便加入.gitignore中
    一些修改也不能提交,于是在本次修改commit后,工作空间会留下一些的东西。
    

    这个时候你要提交了,先更新代码,于是你使用

    git pull --rebase

    (为啥用rebase前面已经说了),看到下面的错误:

    这个时候只需要存放一下,



    发现工作空间已经clean了:



    这个时候,就可以愉快地rebase了

    最后,恢复存放的数据:


    更多内容,参考doc

    相关文章

      网友评论

        本文标题:【Git Tips】stash -- 存放修改内容,不提交也可以

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