git stash

  • 如果当前分支还有任务没有做完,也不想提交,但此时需要切换或者创建其它分支,就可以使用stash将当前分支的所有修改(包括暂存区)先储藏起来;然后就可以切换到其它分支
  • 在其它分支工作完成之后,首先切换回原来的分支,然后使用git stash list命令查看
  • 可以使用git stash apply <stash number>恢复之前储藏的工作现场,再使用git stash drop <stash number>删除掉储藏的内容
  • 也可以直接用git stash pop恢复并删除内容

1.保存

$ git stash
解释:会把所有未提交的修改(包括暂存的和非暂存的)都保存起来
$ git stash save "messeag"
解释:会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,并增加说明
$ git stash save -u "messeag"
解释:会把所有未提交的修改(包括1.暂存的;2.非暂存的;3.新加入的代码文件:untracked files)都保存起来,并增加说明
$ git stash save -a "messeag"   不建议用
解释:会把所有未提交的修改(包括1.暂存的;2.非暂存的;3.新加入的代码文;4.其他隐藏文件)都保存起来,并增加说明;不建议用

2.重新应用缓存的stash

$ git stash pop
解释:这个指令将缓存堆栈中的第一个stash删除,并将对应修改应用到当前的工作目录下
$ git stash apply
解释:将缓存堆栈中的stash多次应用到工作目录中,但并不删除stash拷贝

3.查看stash

$ git stash list
解释:在使用git stash apply命令时可以通过名字指定使用哪个stash,默认使用最近的stash(即stash@{0})。

4.移除

$ git stash drop stash@{0}
解释:删除指定的stash
$ git stash clear
解释:删除所有缓存的stash

5 查看指定stash的diff

$ git stash show
解释:查看指定stash的diff,后面可以跟着stash名字
$ git stash show -p
解释:在该命令后面添加-p或--patch可以查看特定stash的全部diff

6 stash指定的文件

1.多个文件
git stash push <file1> <file2> <file3> [file4 ...]
2.单个文件
git stash push -m "message" file_path

Git stash 的用法,将暂存区的内容缓存并移除,解决切换分支前的内容缓存问题相关推荐

  1. Git三大特色之Stage(暂存区)

    这是开篇 有人说,暂存区是 Git 最精彩的设计,同时也是最难理解的部分,两者我都感觉不太明显,但当我想写关于暂存区的理解后,发现的确不怎么好讲,这个玩意,有点只可意会的感觉,用 Git 用熟练了,很 ...

  2. Git中的工作区和暂存区

    Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 0. 相关专业名词 staged changes:已更改的东西 unstaged changes:未更改的东西 stage 暂存区 ...

  3. Git stash 指令总结:暂存和恢复

    应用场景: 刚刚正在dev分支上开发某个项目,这时项目中出现一个严重bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利 ...

  4. git中的工作区,暂存区,版本库

    git status  用于查看哪些文件被暂存了 红色:工作区与版本库之间对比 ,说明没有被暂存 git add .  (工作区的内容添加到暂存区) 黄绿色:暂存区和版本库,说明被暂存

  5. Git——三大分区【工作区 / 暂存区 / 版本区】

    前言:Git作为一个版本管理工具,最核心组成思想是它的三个分区:工作区.暂存区和工作区. 1. 工作区   Git的工作区也就是我们平时编辑代码的目录文件夹. 2. 暂存区   暂存区就是一个暂时放置 ...

  6. git 的详细使用 操作暂存区

    git 大概流程: 1.配置 1.1 配置本机全局的用户名(username)和邮箱(useremail ) 配置 >>>> 查看 一般就是新安装git才需要配置一次 git ...

  7. git中使已经加入暂存区的文件不再受版本控制

    有的时候我们会有这样的需求,自己新建了一个本地仓库,并且执行了 "git add ." 命令,此时所有的文件都加入版本控制,但是有些文件是我们不需要进行版本控制的(比如说VS工具生 ...

  8. Git - stash(暂存区) 用法

    使用场景 功能开发一半,改了个BUG需要提交,此时就需要把开发功能的改动代码暂存起来,将BUG修改内容进行提交并推送,推送后再恢复原有改动 执行流程 先git commit要提交的内容 将剩下内容通过 ...

  9. Git使用汇总之工作区、暂存区、版本库

    前言 初次接触git的时候最让人迷惑的无非是这三者的概念和他们之间的关系,搞懂这三个概念和他们之间的关系,可以说你对git了解已经三分熟了. 下面这个图展示了工作区.版本库中的暂存区和版本库之间的关系 ...

最新文章

  1. python使用imbalanced-learn的AllKNN方法进行下采样处理数据不平衡问题
  2. 软件测试培训 高级测试/测试开发基本技能列表
  3. urlencode和quote的用法
  4. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.13
  5. linux+proc+原理,Linux内核中的Proc文件系统(一)
  6. python绘制三维曲线图_Python基于matplotlib实现绘制三维图形功能示例
  7. adb logcat介绍
  8. 求合体电脑版_网红界宋祖儿找年轻版言承旭当男友,一张合照收割大量cp粉?!...
  9. vue组件独享守卫钩子函数参数详解(beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave)...
  10. 编程之美:从无头单链表中删除节点,讨论
  11. 用百宝云在线表单制作一个简单的投票系统
  12. f1c200s核心板_F1C200s NS 2009 驱动
  13. 工业3D互联网可视化三维数字化智能工厂管理系统
  14. 服务器直接ip登录显示令牌错误,SSL 配置动态令牌认证,令牌同步失败提示获取认证服务器配置失败或本地IP与认证服务器IP地址不匹配...
  15. tfs java_Java SDK for TFS
  16. 程序员怒怼产品经理最新表情包,叫我改Bug这辈子是不可能的
  17. python打开autocad
  18. 互联网服务器信息检索,网络信息检索的一般方法
  19. 怎么把html转换成字符串,javascript – 如何将html和值输出转换为字符串
  20. 第九天 03-破解linux密码

热门文章

  1. C#项目绩效考核实战提升(一)
  2. 南都周刊:别了,老兵乔布斯
  3. 新公司没开多久就倒闭
  4. 数据库中候选键的确定
  5. 微信公众号自定义分享IOS失效
  6. 卖了个 Chrome 插件,赚了几千美金,但是很后悔!
  7. 微信小程序(WeUI框架)
  8. Java基础—数据类型
  9. [论文阅读笔记69]医学术语标准化-CODER
  10. 趁着中秋节来临之际,学学如何做好团队管理