当我们在使用git的时候,又是会有这种情况:当新的需求了的时候。我们需要为此需求新建一个分支,再次分支上进行修改,当经过测试,提交代码时,在将其合并到主分支,或生产分支上。

但是有时候也有失误的时候,忘记创建新的分支了,或者忘了切换分支了,在错误的分支上进行了开发。又或者你的需求已经开发了一些的,这时有个新的紧急需求来了,而你又不想把你的代码修改直接提交到仓库,这怎么办?

怎么办??别怕,有 git stash 命令

那什么是 stash 哪?官方解释是“储藏”。其实stash区域就是一个缓存区,但是这个缓存区不同于add命令的缓存区stash的缓存区是一个栈的结构用来储存你暂时不想commit的代码修改,并且你的工作空间就会回到修改之前的状态。

另外,stash 是跨分支的,你在master 存入的修改可以应用于其他任何分支上,反之亦然。

并且,git stash 是存储已经纳入git体系的文件,新建的,但是还没有使用git add 命令处理的文件不会被 stash 。

说一下stash的主要命令:

一、git stash save "说明"

这是主要的存储命令,其实可以不写save 参数,直接 git stash 就可以,save 参数是为了加一个文字说明。当然,不太建议这么来,没有说明鬼知道记录的是什么内容。。。

二、 git stash list

查看存储栈的内容。显示的内容如下:


从这里可看出来,这是一个栈结构。最早进入的在最下面。

三、git stash pop, git stash apply stash@{0}

应用stash存储的内容,pop命令很直白了。弹栈命令,即将最上面的栈元素存储的内容用于当前工作空间,又将最上面的栈元素删除。

而apply命令只是将最上面的栈元素存储的内容用于当前工作空间,但是不删除栈元素。

四、git stash drop stas@{0}

删除指定的栈元素。这个很简单了,删了就完了,不会应用此栈元素的内容。

当然。git stash 还有其他的一些操作命令,但是以上者四个基本已经可以满足我们的需求了。

git stash 缓存 简介相关推荐

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

    git stash 如果当前分支还有任务没有做完,也不想提交,但此时需要切换或者创建其它分支,就可以使用stash将当前分支的所有修改(包括暂存区)先储藏起来:然后就可以切换到其它分支 在其它分支工作 ...

  2. git stash简介

    原文:http://gitbook.liuhui998.com/4_5.html 一.基本操作 当你正在做一项复杂的工作时, 发现了一个和当前工作不相关但是又很讨厌的bug. 你这时想先修复bug再做 ...

  3. git stash 个人理解

    link git stash (git 储藏)用于以下场景: 1.发现一个类是多余的,想删掉它担心之后会用到它,想保存但又不想增加一个脏的提交,这时候可以考虑使用git stash; 2.使用git的 ...

  4. git stash pop冲突_这有一份 git 日常使用清单,你需要吗?

    点击上方"前端教程",选择"星标" 每天前端开发干货第一时间送达! 作者:echozh juejin.im/post/5d5b4c6951882569eb570 ...

  5. Git Stash的使用方法与注意事项

    常用git stash命令: git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别 ...

  6. Git:git stash存储文件修改

    git stash 用法总结和注意点 https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html 常用git stash命令: (1 ...

  7. git stash暂存命令

    # 1.新建存储 git stash git stash save "save message" # 添加备注# 2.查看存储 git stash list # 3.显示做了哪些改 ...

  8. git stash、git branch使用方法

    git stash.git branch使用方法 目录 git stash.git branch使用方法 一.git stash 二.git branch 1. 常用命令 2.使用场景 一.git s ...

  9. git版本回退(git reset、git revert、git stash)

    文章目录 回退的两种情况 1.已 commit,未push到远程仓库. 1.1 git reset --soft (撤销commit) 1.2 git commit --amend(修改commit ...

最新文章

  1. vmd变分模态分解程序matlab论坛_博士兼职辅导员论坛分享会第三期
  2. asp.net core 创建允许跨域请求的api, cors.
  3. BZOJ 2156 「国家集训队」星际探索(最短路)【BZOJ计划】
  4. 计算机组成原理考研重点
  5. Nature:拟南芥微生物组功能研究1培养组学—高通量细菌分离培养鉴定
  6. bitbucket迁移
  7. plsql developer 64位版本
  8. 常用的数据结构_三分钟了解区块链常用数据结构「默克尔树」
  9. [翻译] effective go 之 Names Semicolons
  10. 只让类访问, 而不让类的实例来访问某个成员变量
  11. html 下载 txt 文件
  12. 微软drive服务器,OneDrive:微软云存储服务
  13. sql 恢复刚删除的表
  14. 计算机毕业论文个人小结2500字,毕业论文个人小结
  15. php流量统计代码_用php编写的简单的网站流量统计程序
  16. Mac清空的废纸篓文件怎么恢复
  17. android水平wheelview,android:自定义横向滚动的WheelView
  18. protractor环境安装
  19. 面试之其他面试题归类
  20. 项目实战 之 vue3 + vite + pinia

热门文章

  1. [转载] java程序员快速学c++
  2. r语言简介_R语言简介
  3. 基于php的工厂管理系统,PHP设计模式——工厂模式
  4. hbuilder php xdebug,Hbuilder使用xdebug配置php断点调试
  5. c#象棋程序_C ++程序确定象棋方块的颜色
  6. stl string 函数_使用C ++ STL中的string :: append()函数将文本追加到字符串
  7. 更快的Maven构建工具mvnd和Gradle哪个性能更好?
  8. 史上最全的 SQL 优化方案!建议收藏
  9. 西安圈子聚会心得分享
  10. 配置设备作为DHCP 服务器(基于全局地址池)