入门第 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
用你的语言阅读本课
本课程的所有课时
13 节- 1初始化与你的第一次提交 (commit)25 分钟
- 2状态、差异和日志25 分钟
- 3分支 (branch) 与合并 (merge)30 分钟
- 4解决合并 (merge) 冲突30 分钟
- 5远程仓库 (remote): push、pull、fetch30 分钟
- 6暂存 (stash) 与择优拣选 (cherry-pick)25 分钟
- 7变基 (rebase)30 分钟
- 8交互式变基 (rebase) 与提交压缩 (squash)30 分钟
- 9标签 (tag) 与发布 (release)20 分钟
- 10分支 (branch) 工作流20 分钟
- 11恢复丢失的工作25 分钟
- 12钩子 (hook)25 分钟
- 13综合实战: 完整的 Pull Request 流程40 分钟
探索其他课程
Python
19 节 · 9.3小时
Go
20 节 · 12.3小时
React
17 节 · 10.2小时
Linux
17 节 · 8.5小时
Docker
13 节 · 6.6小时
Kubernetes
14 节 · 8小时
Ansible
12 节 · 6.1小时
Bash
12 节 · 5.7小时
Helm
10 节 · 5.4小时
GitLab CI
11 节 · 5.8小时
Jenkins
11 节 · 5.3小时
PostgreSQL
14 节 · 7.6小时
MySQL
13 节 · 6.8小时
Web
14 节 · 5.9小时
TypeScript
18 节 · 7.7小时
Vibe Coding
12 节 · 5.8小时
Prompt Engineering
11 节 · 6.2小时
Vibe 编程:基础
12 节 · 4.5小时
Vibe 编程:从原型到生产
12 节 · 5.5小时
Vibe 编程:多智能体工程
12 节 · 5.3小时
Vibe 编程:高级工程
12 节 · 7.3小时
