git-stash

发布时间 2023-07-13 15:24:21作者: lxd670

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