git stash命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容。git stash作用的范围包括工作区和暂存区中的内容,没有提交的内容都会保存至堆栈中。

  • git stash save

    带备注信息的git stash,会将备注信息存储起来;

git stash save “Your stash message”
  • git stash list

    查看存储列表

git stash list

  

  • git stash apply

    将工作栈中最上面的 stash 应用到本地仓库中,可以通过 stash id 将某个 stash 应用到本地仓库中,本例中是 stash@{1};

git stash apply stash@{1}

  

  • git stash pop

    这个命令和 stash apply 非常相似,但它会在应用到本地仓库后删除这个 stash;也可以通过特定的 stash id 来 pop 某个 stash;

git stash pop stash@{1}

  

  • git stash show

    显示 stash 差异;这条命令只考虑和最近的 stash 比较;

    完整的差异,可以使用

git stash show -p

  

    通过 stash id 来查看某个 stash 的差异

git stash show stash@{1}

  

  • git statsh branch [name]

    根据最近的 stash 创建一个新的分支,然后删除最近的 stash(和 stash pop 一样);

    如果需要某个 stash,可以指定stash id;

git stash branch <name> stash@{1}

  

  • git stash clear

    删除仓库中创建的所有的 stash

  • git stash drop

    删除工作栈中最近的 stash

    可以指定stash id;

git stash drop stash@{1}

  

  

  由于操作失误,导致远程代码被覆盖,此时可使用 git stash 解决;本地修改前应该尽可能的避免本地仓库与远程之间有过多的差异,本地修改前执行一次git pull先把远程更新拉到本地;提交前先把本地修改存入栈,然后从服务器端更新代码,这样可以避免过多的代码merge;

git stash
git pull
git pop
若有冲突解决冲突

  

  

git学习(八) git stash操作的更多相关文章

  1. Git 学习(四)操作修改和版本穿梭

    Git 学习(四)操作修改和版本穿梭 之前的章节,已介绍了本地Git库创建.暂存区增.删.改,以及提交版本库:可回顾下命令操作: git add 和 git commit. 光有之前章节的操作,Git ...

  2. git学习——<五>git分支

    git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今 ...

  3. git 学习(1) ----- git 本地仓库操作

    最近在项目中使用git了,在实战中才知道,以前学习的git 知识只是皮毛,需要重新系统的学一下,读了一本叫  Learn Git in a Month of Lunches 的书籍,这本书通俗易懂,使 ...

  4. git 学习记录—— git 中的仓库、文件状态、修改和提交操作等

    最近开始学习使用版本控制工具  git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...

  5. git学习——<三>git操作

    一.创建仓库 创建一个目录 mkdir repository cd到该目录下,初始化该版本库 git init 至此,版本库创建成功,可以在该文件夹下看到.git文件夹,ls -ah可以看到该文件夹. ...

  6. git学习(五) git diff操作

    git diff操作 git diff用于比较差异: git diff 不加任何参数 用于比较当前工作区跟暂存区的差异 git diff --cached 或者--staged 对比暂存区(git a ...

  7. mzy git学习,git推送到远程库(八)

    git在同步到远程库 关于git中多个用户切换的事情: 完全使用账户密码策略连接远程库: 之前一直尝试在本地切换多个用户,发现一直不行,很奇怪?后面发现必须要去win10的凭据管理器删除当前git的凭 ...

  8. Git学习记录--git仓库

    Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...

  9. Git 学习之git 分支(三)

    Git 分支 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的 ...

随机推荐

  1. js学习笔记之作用域链和闭包

    在学习闭包之前我们很有必要先了解什么是作用域链 一.作用域链 作用域链是保证对执行环境有权访问的所有变量和函数的有序访问. 这句话其实还是蛮抽象的,但是通过下面一个例子,我们就能清楚的了解到作用域链了 ...

  2. 我的Python自学之路-003 字符串的知识

    '''字符串是以引号或者单引号括起来的任意文本,例如"123","asdfjk",'adfa'引号或者单引号,只是一种表示方法,并不是字符串的一部分如果字符串本 ...

  3. JS 数组, 对象的增查改删(多语法对比)

    数据结构横向对比, 增, 查, 改, 删 建议: 在用数据结构的时候, 优先考虑Map和Set(考虑数据的唯一性), 放弃传统的数组和Object, 特别是比较复杂的数据结构时 数组 Map与Arra ...

  4. netty之pipeline

    转载自https://blog.csdn.net/zxhoo/article/details/17264263 Netty4学习笔记(1)-- ChannelPipeline Netty4Netty是 ...

  5. Anaconda使用及管理

    接下来均是以命令行模式进行介绍,Windows用户请打开"Anaconda Prompt":macOS和Linux用户请打开"Terminal"("终 ...

  6. FTP服务器稳定性测试

    FTP服务器稳定性探讨,如何部署FTP服务在server2003上,可能广大网友们有其他的选择,我选择的是Filezilla server.毕竟他是开源又免费 在架构师的悉心指导下,对FTP有了个更深 ...

  7. Bottleneck靶机渗透

    Bottleneck 端口扫描,主机发现. 敏感目录为:http://192.168.114.165/image_gallery.php 在该目录下发现:http://192.168.114.165/ ...

  8. 纹理_贴图_texture

    详细代码可以在我的GitHub上找文末指定的项目.

  9. spark-1-架构设计&基本流程

    Spark运行架构包括: (1)集群资源管理器(Cluster Manager) (2)运行作业任务的工作节点(Worker Node) (3)每个应用的任务控制节点(Driver)和每个工作节点上负 ...

  10. 18-SE-你说的都队

    文章目录 前言 建设银行app分析 招商银行app分析 中国银行app分析 工商银行app分析 总结 团队成员分工与评分 前言 18-SE-你说的都队所选项目题目为"村镇银行储蓄业务系统开发 ...