git使用笔记(十二)stash

By francis_hao    Oct 29,2017

 

git stash 保存当前工作目录的修改

概要

git stash list [<options>]
git stash show [<stash>]
git stash drop [-q|--quiet] [<stash>]
git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
git stash branch <branchname> [<stash>]
git stash [save [--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u] [-a|--all] [<message>]]
git stash clear
git stash create

 

描述

stash用来记录当前未提交的修改,并将当前环境变成上一次提交的状态,被stash记录保存的修改可以通过git stash list列出,通过git stash show检查,通过git stash apply重新载入。git stash等同于git stash save。

 

选项

save

git stash [save [--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u] [-a|--all] [<message>]]

保存当前的修改到一个新的stash,并且运行git reset --hard以回复上一次提交,<message>项是可选的,用来描述stash的状态。为了快速生成一个快照,可以只使用git stash。

save选项

说明

--keep-index

已经add的改动会继续留在索引里。

-u|--include-untracked

新添加的没有建立追踪的文件会被stash保存,之后会由git clean清除,使工作目录很干净

--all

除了未建立追踪的文件,被忽略的文件也会由stash保存,并由clean清除

--patch

 

 

list

git stash list [<options>]

列出当前的stash,形式如下:

stash@{0}: WIP on submit: 6ebd0e2... Update git-stash documentation

stash@{1}: On master: 9cc0589... Add git-stash

 

show

git stash show [<stash>]

显示stash中的改变状态,如果<stash>省略,那么会显示最后stash的一个,show可以接受git diff的选项以显示对应的内容。

 

pop

git stash pop [--index] [-q|--quiet] [<stash>]

从stash list中移除一个stash,并引用在当前工作目录下,所做的是git stash add相反的内容。当前的工作目录需要和索引对应。当使用了--index选项时,会将保存的索引信息也应用到工作环境里。

 

apply

git stash apply [--index] [-q|--quiet] [<stash>]

类似pop,但是不从stash list中移除。

 

clear

清除所有的stash

 

drop

git stash drop [-q|--quiet] [<stash>]

从stash list中移除一个stash

 

 


本文由 刘英皓 创作,采用 知识共享署名-非商业性使用-相同方式共享3.0中国大陆许可协议 进行许可。欢迎转载,请注明出处:
转载自:http://www.cnblogs.com/yinghao1991/p/7750997.html

 

 

参考

【1】伯乐在线 http://blog.jobbole.com/75348/ 让你的Git水平更上一层楼的10个小贴士

【2】man git-stash

原文地址:https://www.cnblogs.com/yinghao-liu/p/7750997.html