Chinaunix首页 | 论坛 | 博客
  • 博客访问: 366783
  • 博文数量: 181
  • 博客积分: 215
  • 博客等级: 民兵
  • 技术积分: 313
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-17 19:39
个人简介

王的男人

文章分类

全部博文(181)

文章存档

2016年(2)

2015年(35)

2014年(17)

2013年(84)

2012年(49)

我的朋友

分类: 项目管理

2013-03-29 22:29:50

原文地址:06 git stash 的理解 作者:garfield_trump

1,git stash 保存当前工作进度;

git stash [save [--patch]  [-k|--[no-]keep-index]  [-q--quiet]  [] ]

--patch : 参数会显示工作区和 HEAD 的差异,通过对差异文件的编辑,排除无关内容,决定在进度中最终保存的工作区的内容。

-k 或者 --keep-index :参数在保存工作进度后将不会重置暂存区,默认会将暂存区和工作区重置。

:即保存工作进度的时候附加说明,以便日后恢复。

1.1 git stash list 查看保存的进度:

1.2 git stash save 保存当前工作进度并且附加说明:


git stash save "stash new file a3 a4."


1.3 git stash -k 保存当前工作进度同时保持暂存区不被重置:

1.3.1 先查看当前状态:



1.3.2 git stash -k 保存当前工作进度:

由此验证保存工作进度后,暂存区没有被 rest,但工作区则被 reset 到最后一次执行 git add 的状态,即暂存区状态。


2,git stash pop 恢复之前工作进度:

git stash pop [--index] []

2.1 git stash pop --index stash@{0} 恢复最近一次工作进度 stash{0}


选项 “ --index ” 除了恢复工作区之外,还尝试恢复暂存区。

2.2 git stash pop stash@{0}恢复最近一次工作进度:


对比上一次的工作进度恢复,这一次的恢复因为没有加 “--index” 参数,所以恢复后并没有恢复 newFile_a3.txt 在暂存区的修改。

3,放弃之前保存的工作进度:

git stash drop [] #放弃指定的工作进度

git stash clear #清除所有已经保存的工作进度










阅读(1242) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~