入门第 6 / 13 节25 分钟 · 实操
暂存 (stash) 与择优拣选 (cherry-pick)
Git 课程的一部分
改到一半,文件动过了,什么都没做完,这时同事发来消息:「能不能马上看一下 main 上的一个缺陷?」你没法把做了一半的活提交上去,因为一次提交应该让项目停在一个自身说得通的状态上,而现在这个状态说不通。你也没法说切分支就切分支,因为你的改动会和目标分支上已有的内容撞上,Git 不会让你检出过去。你被卡在两件都不许做的事中间。还有一个完全无关、但同样常见的问题:你要的那个修复其实早就做好了,但它埋在一个分支里,那分支上还有另外四个你暂时不想要的提交,而你只想把那一个修复,仅仅那一个,弄到别的地方去。这两种处境,Git 各有一件专门的工具,这一课两件都讲。
想象客人不打招呼就上门,你赶紧收拾桌面。你不会把每张纸都好好归档,也不会把手头的事做完,你只是一股脑把东西扫进一个箱子,把箱子塞到桌子底下,桌面就干净到可以干别的事了。什么都没扔掉,全都还在箱子里,原样待着,等你以后再拿出来。这个箱子就是 Git 说的贮藏(stash):把你尚未提交的改动,包括已加入暂存区的和没加入的,整体存成一份快照,单独收在提交历史之外,于是你的工作区(也就是此刻躺在项目文件夹里的那些文件)回到和上一次提交一致的样子。
想在真实环境里学习 Git 暂存 (stash) 与择优拣选 (cherry-pick) 吗?
点击下方,立即获得一台预装 Git 的 Linux 主机,跟懂你代码的 AI 导师一起完成 暂存 (stash) 与择优拣选 (cherry-pick) 的实操练习。
开始这节课暂存 (stash) 与择优拣选 (cherry-pick)你将学到什么
- Git stash
- Git stash pop
- Git stash list
- Git cherry-pick
