git-stash的用法

生活总是有很多出人意料的事情,比如,你以为我要举个例子。

应用前提

1
2
3
4
5
分支里面的代码如果没有提交commit ,那么切换到其他分支下还是可以看
到(git status)这个分支下的代码.

但是如果我们现在想要切换到别的分支但是同时又不想提交commit我们的代码
该如何处理?

git stash

1
2
3
在你切换分支前,运行:git stash 就可以了
当你在其他分支改好了代码并切换回当前分支的时候,请git stash pop

相关命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
git stash
保存当前的工作进度。会分别对暂存区和工作区的状态进行保存

git stash save "message..."
这条命令实际上是第一条 git stash 命令的完整版

git stash list
显示进度列表。此命令显然暗示了git stash 可以多次保存工作进度,并用在恢复时候进行选择

git stash pop [--index] [<stash>]
如果不使用任何参数,会恢复最新保存的工作进度,
并将恢复的工作进度从存储的工作进度列表中清除。
如果提供参数(来自 git stash list 显示的列表),则从该 <stash> 中恢复。恢复完毕也将从进度列表中删除 <stash>。
选项--index 除了恢复工作区的文件外,还尝试恢复暂存区。

git stash apply [--index] [<stash>]
除了不删除恢复的进度之外,其余和 git stash pop 命令一样

git stash clear
删除所有存储的进度