Appearance
git stash(贮藏)
有时, 当我们在一条分支上工作了一段时间, 但该任务又未完成; 这时, 我们想到另一条分支做一些其他的事, 例如: 修复一个紧急的 bug, 但是我们又不想为现在尚未完成的任务创建一次提交, 这时候可以使用 git stash 命令
git stash 命令会将未完成的修改保存在一个栈中, 我们可以在任何时候重新应用这些修改
下面就直接使用 lazygit 演示, 具体的命令可以查看 Git-Tools-Stashing-and-Cleaning
在我们的仓库中有两条分支 main 和 dev, 并且 dev 上有一个超前于 main 分支的提交
1.可以看到在 dev 分支上一条超前于 main 分支的提交 -- feat: dev feat one completed
点击展开查看详情👀

2.我们在 dev 分支上做了一些修改 -- feat two here, but it not yet
点击展开查看详情👀
3.这时,我们在 dev 分支上的工作还没有完成,但是 main 分支上有一个紧急的 bug 需要我们马上处理, 我们又不想为这一次的未完成的工作创建一次提交, 当我们直接切换到 main 分支的时候可以发现 lazygit 会提示 'Autostash', 但是不建议自动 stash, 所以我们选择手动 stash
点击展开查看详情👀
在第2个面板(工作区面板)上键入 s, 即可输入 stash 信息, 再按下 Enter 就可以发现 stash 信息被放在了左侧第5个面板(stash面板)显示, 在这个面板中可以操作 stash
4.在 dev 上的工作 stash 后, 我们就可以切换到 main 分支上修改 bug,完成后并提交
点击展开查看详情👀
5.修改完 main 分支上的 bug 后, 我们又回到 dev 分支上, 可以在第5个面板(stash面板)上按下 Space(空格) 就可以重新应用需要的 stash
点击展开查看详情👀
6.我们继续完成 dev 分支上的工作并提交
点击展开查看详情👀
7.在将 dev 分支合并到 main 分支后, 就可以通过在 stash 面板上按下 d 并 Enter 将对应的 stash 删除
