Git实战指南----跟着haibiscuit学Git(第三篇)
笔名: 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(第三篇)的更多相关文章
- Git实战指南----跟着haibiscuit学Git(第五篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- Git实战指南----跟着haibiscuit学Git(第十一篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- Git实战指南----跟着haibiscuit学Git(第九篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- Git实战指南----跟着haibiscuit学Git(第六篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- Git实战指南----跟着haibiscuit学Git(第一篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- Git实战指南----跟着haibiscuit学Git(第二篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- Git实战指南----跟着haibiscuit学Git(第十篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- Git实战指南----跟着haibiscuit学Git(第八篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- Git实战指南----跟着haibiscuit学Git(第七篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- Git实战指南----跟着haibiscuit学Git(第四篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
随机推荐
- Leecode_137_singleNumberII
参考: http://blog.csdn.net/jocyln9026/article/details/19397477
- 实战!轻松搭建图像分类 AI 服务
人工智能技术(以下称 AI)是人类优秀的发现和创造之一,它代表着至少几十年的未来.在传统的编程中,工程师将自己的想法和业务变成代码,计算机会根据代码设定的逻辑运行.与之不同的是,AI 使计算机有了「属 ...
- 基于串口通信做my_printf时遇到的坑儿
首先,完成了串口向终端putty的打印函数ConsolePrint(),但该函数只能打印字符串,无法像stdio库中的printf函数一样打印整数和浮点数等. 因此,我先是使用了标准库stdio中的s ...
- 成功build Maven但eclipse中依然显示该工程有错误
在mac pro的控制台中,成功执行 mvn package,但该工程在eclipse仍然显示有错误. 解决办法:右键该工程 -> Maven -> Update project,勾选 F ...
- 求亿级记录中搜索次数Top N的搜索词(MapReduce实现)
程序事例: 日志信息: 二手车 1345 二手房 3416 洗衣机 2789 输入: N=2 输出: 二手房 洗衣机 map函数如下: import java.io.IOException; impo ...
- Unknown class XXViewController in Interface Builder file.”问题处理
“Unknown class XXViewController in Interface Builder file.”问题处理 在静态库中写了一个XXViewController类,然后在主工程的 ...
- 2017 CCPC秦皇岛 E题 String of CCPC
BaoBao has just found a string of length consisting of 'C' and 'P' in his pocket. As a big fan of ...
- UVA-11987
I hope you know the beautiful Union-Find structure. In this problem, you're to implement somethingsi ...
- Orleans 配置端口的一些坑
Orleans的配置有点乱的 整理了下 .Configure<EndpointOptions>(options => { //这里的IP决定了是本机 还是内网 还是公网 option ...
- 小白学 Python 爬虫(19):Xpath 基操
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...