笔名:  haibiscuit

博客园: https://www.cnblogs.com/haibiscuit/

Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star)

本项目地址: https://github.com/haibiscuit/StudyBook

尊重笔者的劳动成果,未经允许请不要转载

二:git stash

作用:

将工作区的文件修改的内容暂存到栈中(前提是修改文件已被add到暂存区中)

使用前提:

使用git stash需要保证工作区的文件add到暂存区,如果工作区修改,但是没有放到暂存区,或是工作区根本没有修改任何文件,git stash命令是不起作用的.

使用场景:

当你切换分支的时候,如果工作区有修改的文件,不管你是否放到暂存区,切换到新的分支后,你修改文件的内容仍将可以看到,影响你的工作.

所以,当你需要切换分支的时候,为了不让工作区已被修改的文件影响到其他分支内容,需要使用git stash暂存修改内容.

当你使用git stash后,你修改的内容不管是在当前分支还是切换到其他分支,你修改的内容就不会被看到.

正确的使用姿势:

(1) .切换到其他分支前(此时工作区有文件被修改)

1.1 git add     //将修改内容放入暂存区

1.2 git status  //查看修改内容的状态(推荐常用)

1.3 git stash   //将修改的内容放到栈中

(2) .回到该分支

2.1 git stash list   //查看栈中有没有放入的内容

2.2 git stash pop  //将放到栈中的内容放回工作区(这时就可以看到被修改的文件了)

2.3 git stash list   //确保栈中没有其他的文件

(3).其他不常用命令(没不要下面的命令就别用了)

3.1 git stash apply //恢复工作区修改文件(但是恢复后,stash内容并不删除你需要用git stash drop来删除)

3.2 git stash drop  //删除栈顶内容

3.3 git stash clear  //清空栈中内容(慎用)

(4).加深理解

为了加深对git stash的理解,执行以下命令

 

4.1 touch test.txt   //新建test.txt文件

4.2 vim test.txt     //使用vim在test.txt中添加一些内容(这一步很重要)

4.3 git add test.txt  //将test.txt文件放入暂存区

4.4 git stash       //将修改的内容添加到栈中(此时会发现工作区的test.txt添加的内容消失,即是空文件)

4.5 git stash drop   //删除栈顶内容

4.6 git status       //查看修改内容状态

 

(注:

在执行4.4 git stash那一步时会发现工作区修改的内容会消失,即工作区呈现的内容是本地仓库当前版本的内容

另外4.5 git stash drop那一步很危险,执行该命令就找不回你修改的内容了)

Git实战指南----跟着haibiscuit学Git(第三篇)的更多相关文章

  1. Git实战指南----跟着haibiscuit学Git(第五篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  2. Git实战指南----跟着haibiscuit学Git(第十一篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  3. Git实战指南----跟着haibiscuit学Git(第九篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  4. Git实战指南----跟着haibiscuit学Git(第六篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  5. Git实战指南----跟着haibiscuit学Git(第一篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  6. Git实战指南----跟着haibiscuit学Git(第二篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  7. Git实战指南----跟着haibiscuit学Git(第十篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  8. Git实战指南----跟着haibiscuit学Git(第八篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  9. Git实战指南----跟着haibiscuit学Git(第七篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  10. Git实战指南----跟着haibiscuit学Git(第四篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

随机推荐

  1. python使用mysql的一些坑

    注意:如果你用的是python3.x,直接去看第四个问题 遇到的第一个问题 正常来说直接执行pip安装,就是可以的,但是MySQL-python偏偏比较独特 pip install MySQL-pyt ...

  2. 大数据之Linux网卡配置

    当你安装好一台Linux之后,第一步自然是配置网卡,让你的Linux上网. 配置网卡大多数有两种模式,一种是桥接,一种是NAT 首先讲一下桥接网卡的上网原理,他是等同于在你现有的网络环境上直接现加一台 ...

  3. 压缩感知重构算法之IHT算法python实现

    压缩感知重构算法之OMP算法python实现 压缩感知重构算法之CoSaMP算法python实现 压缩感知重构算法之SP算法python实现 压缩感知重构算法之IHT算法python实现 压缩感知重构 ...

  4. Java修炼——容器HashMap用法

    直接上代码,容器集合之间的关系在后面我会继续详细分析,这次先看HashMap用法 HashMap的方法都在代码中有解释.有需要的可以仔细看看 package com.bjsxt.map; import ...

  5. Spring代理模式(jdk动态代理模式)

    有动态代理和静态代理: 静态代理就是普通的Java继承调用方法. Spring有俩种动态代理模式:jdk动态代理模式 和 CGLIB动态代理 jdk动态代理模式: 代码实现: 房东出租房子的方法(继承 ...

  6. F#周报2019年第50期

    新闻 Azure Functions 3.0系统上线 GC性能架构--第1部分 ConfigureAwait问题解答 介绍System.Threading.Channels Windows Serve ...

  7. Redis 使用消息隊列

    關鍵函數 ListRightPush  生產消息 ListRightPop   消費消息 這是從右面增或取 左邊亦然

  8. Python3 网络编程基础1

    目录 开发架构 C/S架构 B/S架构 OSI模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP协议 socket 开发架构 C/S架构 client 和 server, 既客户 ...

  9. BottomNavigationView 的使用

    转载请注明出处:http://blog.csdn.net/wl9739/article/details/52875710 BottomNavigationView 很早之前就在 Material De ...

  10. 牛客练习赛32B Xor Path (树形dp)

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给定一棵n个点的树,每个点有权值.定义表示 ...