zoukankan      html  css  js  c++  java
  • Git--stash

     参考

    https://www.cnblogs.com/tocy/p/git-stash-reference.html

    保存当前的工作内容,而不需要做提交操作.

    应用场景

    有一个或一些的类该次提交不需要,但觉得以后可能会有用,可以把这些类stash到本地.

    当前正在修改时,需要切换到其他分支或者在当前分支修改一些bug时,但又不想或不能把当前的改动提交,则可以把正在修改的内容stash到本地.

    等等等等..

    用法

    git stash

     git stash 会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。

    执行git stash后,暂存和非暂存区的内容都被stash到本地,而未纳入git管理的文件并没有被stash到本地.

    再来看git当前状态

    暂存区和非暂存区的内容已经没了,被stash到本地了.只剩下未纳入git管理的文件,也就是未被stash到本地的文件.

    git stash list

    查看现有的stash

    git stash save "message"

    给stash添加提交消息

    先将上面的Pig文件添加到暂存区

    然后git stash save

    查看

    这样就知道stash的大概内容是什么了,清晰直观.

    而第一次stash的内容没有附加描述信息,很容易忘记stash的内容是什么.当然可以查看里面的内容,这个和提交代码git commit -m "message"基本上差不多.

    git stash apply / git stash pop

    因为各种原因而被stash到本地的代码怎么恢复呢,这里就可以用到 git stash apply 或者 git stash pop 

    stash的过程,差不多和操作栈的过程差不多.

    而apply和pop的差别,就是pop在恢复最近的stash内容的同时会删除该stash记录.而apply不会.

     git stash apply 

     git stash pop 

     

    之所以说类似于操作栈,是因为它又不同于栈的先进后出,因为它可以有选择的apply或者pop.

    git stash drop

    删除stash记录

    删除指定的stash记录

    git stash show

    查看stash的内容

     git stash show -p 或者 git stash show --patch 可以查看特定stash的全部diff.

    查看指定的stash内容

    git stash branch

    如果在stash之后修改的内容与stash的内容有冲突

    发生冲突的情况,被pop的stash依然存在.

    这时候你需要去解决冲突.

     如果你只是想继续上次的工作不想被这些冲突所折磨的话,则可以使用 git stash branch 在新的分支上继续之前的工作.

    当然,stash之后记录随之被删除.

  • 相关阅读:
    ASP内置对象
    VBscript脚本语言
    2018校园招聘求职记
    0.3W微功率放大器
    画一画BeagleboneBlack的PCB
    硬件类实习面试经历(已跪)
    2017会是改变人生轨迹的一年
    windows下使用vs code调试简单的C程序
    Beagleboneblack的MLO文件干了些啥
    模仿u-boot的makefile结构
  • 原文地址:https://www.cnblogs.com/microcat/p/10275982.html
Copyright © 2011-2022 走看看