1.stash说明
修改已追踪的文件(未
git add
),可以使用git stash
放入git栈保存新增的文件,直接执行stash是不会被存储的
1-1.解决的问题
1.在切换分支时
把当前内容提交掉,然后再切换分支
把内容stash掉,然后再切分支(如果代码修改到一半,又不想提交未一个新的commit时,可以这样操作)
2.在更新本地代码时
把内容stash掉,然后git pull -r更新本地仓库
2.stash使用
2-1.存
入栈
## 带默认注释的stash
git stash
## 带有注释的stash
git stash save '注释说明'
git stash -m '注释说明'
2-2.取
出栈
## 命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下
## 默认为第一个stash,即stash@{0},git stash pop stash@{$num}
git stash pop
## 应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num}
git stash apply
2-3.查
2-3-1.查看有多少条入栈记录
git stash list
stash@{0}: On master: save test msg
stash@{1}: WIP on master: cdcd732 t1
2-3-2.显示做了哪些改动
默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@
git stash show
xxx.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
2-3-3.查看最新的入栈修改文件详细信息
git stash show -a
diff --git a/xxx.py b/xxx.py
index 2c2de6d..85c7a31 100755
--- a/xxx.py
+++ b/xxx.py
xxx
2-4.删
git stash drop
git stash clear