zoukankan      html  css  js  c++  java
  • Git学习笔记(二) git stash

    1、使用场景

    当我们在某一条分支上开发新功能时,突然有个紧急的错误需要修复

    这时,我们不得不暂停手头上的工作,切换到另外的分支去修复错误

    但是,新功能做到一半,既不能提交,也不能删除,那该怎么办呢

    我们可以先把当前的更改保存起来,等处理完错误后再恢复出来,git stash 就是这样的一个用法

    它可以将工作区和缓存区的更改保存到一个栈结构中,等后面需要的时候再恢复

    2、基本用法

    • 保存:git stash
    > # 将当前工作区和暂存区的更改保存到一个栈结构
    > git stash
    > # 将当前工作区和暂存区的更改保存到一个栈结构,并附带一个信息
    > git stash save "message"
    > # 将当前工作区和暂存区的更改保存到一个栈结构,包括新增的文件
    > git stash -u
    > git stash --include-untracked
    > # 将当前工作区和暂存区的更改保存到一个栈结构,包括新增的文件以及忽略的文件
    > git stash -a
    > git stash --all
    
    • 查看栈中保存的更改:git stash list
    > # 查看栈中保存的更改
    > git stash list
    
    • 查看更改的具体内容:git stash show
    > # 查看栈中第一个更改的具体内容
    > git stash show
    > # 查看栈中指定的更改的具体内容
    > git stash show <stash id>
    
    • 恢复:git stash apply
    > # 将栈中的第一个更改恢复到当前工作区和暂存区
    > git stash apply
    > # 将栈中的指定的更改恢复到当前工作区和暂存区
    > git stash apply <stash id>
    
    • 删除:git stash drop
    > # 删除栈中的第一个更改
    > git stash drop
    > # 删除栈中的指定的更改
    > git stash drop <stash id>
    
    • 恢复 & 删除:git stash pop
    > # 将栈中的第一个更改恢复到当前工作区和暂存区,同时删除栈中的第一个更改
    > git stash pop
    > # 将栈中的指定的更改恢复到当前工作区和暂存区,同时删除栈中的指定的更改
    > git stash pop <stash id>
    
    • 清空:git stash clear
    > # 清空栈中保存的更改
    > git stash clear
    

    【 阅读更多 Git 系列文章,请看 Git学习笔记

  • 相关阅读:
    EF 关系规则(一对一、一对多、多对多...)
    EF框架中加子类后出现列名 'Discriminator' 无效问题
    .net下Ueditor配置(主要讲解上传功能配置)
    同构数查找程序的优化过程 Anthony
    Effective STL 条款17 Anthony
    C 语言中的数组类型和数组指针类型. Anthony
    Effective STL 条款18 Anthony
    RDLC之自定義數據集二
    给Calendar添加标签
    Profile学习
  • 原文地址:https://www.cnblogs.com/wsmrzx/p/13277152.html
Copyright © 2011-2022 走看看