在git中可以使用git stash储藏和恢复修改过或已经暂存的被跟踪文件。
基本用法
1、git stash 和 git stash save
将新的储藏内容推入栈中。
2、git stash list
查看存储在栈中的储藏。
3、git stash apply 和 git stash apply stash@{n}
重新引用栈中的某个储藏。
4、git stash apply --index
文件变更可以重新应用,但是之前暂存过的文件却不会被再次暂存。该命令可以重新应用暂存过的变更。
5、git stash drop 和 git stash pop
apply选项只会尝试应用储藏过的内容,而这些内容仍然保存在栈上。drop选项可以删除某个储藏,pop选项在应用某个储藏的同时会将其从栈中移除。
6、git stash --keep-index
不储藏已经用git add命令暂存过的内容。
7、git stash -u 和 git stash --all
除了保存已经索引过的文件,该命令还会储藏所有创建过的未跟踪文件。
8、git stash --patch
以交互方式询问哪些改动需要储藏,哪些改动需要保留在工作目录中。
9、git stash branch name
创建一个新的分支,检出储藏时所在的提交,重新应用成果,如果应用成功,就会丢弃掉储藏。
10、git stash show
git stash show stash{n} 可以查看某个储藏的统计信息
git stash show -p stash{n} 可以查看某个储藏的diff信息
11、git stash -p
以交互方式逐个添加需要储藏的文件。
12、从 git stash 中提取单个文件
git checkout stash@{0} -- <filename>
13、在 git stash 中查看单个文件的 diff
git diff stash@{0} HEAD -- <filename>