考虑这样的场景:
- 本地修改了 A 文件和 B 文件
- git add A
- git stash
- git stash pop
发现 A 文件从暂存区回到了工作区。
这是什么原因呢?求解释一下 git stash
的原理么?为什么要这么设计呢?
考虑这样的场景:
发现 A 文件从暂存区回到了工作区。
这是什么原因呢?求解释一下 git stash
的原理么?为什么要这么设计呢?
5 回答2.9k 阅读
3 回答2.7k 阅读
3 回答1k 阅读
2 回答266 阅读✓ 已解决
439 阅读
stash
有个很实用的应用场景。比如你正在更新迭代网站的新版本,代码修改了一堆,暂存的未暂存的。突然发现线上有个紧急 bug。
git stash
就能保存你当前修改的代码,并进入你修改之前那个干净的 commit 分支。这时候可以专心处理bug,等处理完 commit 提交以后执行
git stash pop
。这时候
工作目录 = bug 改完提交的 commit + 之前保存的修改的代码
。pop 之后文件的确都会回到工作区。可以执行
git stash pop --index
,这样该在暂存区的文件还是会在暂存区。