1. git checkout -- <file>
的示意
2. "checkout" 的补充
2.1 git checkout <branch_name>
- 切换分支时有用,具体见 [Git] 017 加一条分支,享双倍快乐 的 "2.1"
2.2 git checkout .
- 将暂存区中的内容尽数回滚给工作区
- 此命令有危险!
- 先对 "note_01.txt" 做些改动
- 然后使用
git checkout .
分析
- 仅仅使用
git checkout
是没有效果的 git checkout
有一个反馈,再次说明“没有消息就是最好的消息”git checkout .
生效
3. 画了一张“脑图”,复习一下 "reset"
4. git reset --hard HEAD~
的示意
5. 关于单个文件的回滚
分析
- 工作区与本地仓库一致
暂存区的 "note_01.txt" 中的内容与本地仓库的上一个版本的 "note_01.txt" 一致
恢复
6. 关于 "--hard"
- “有无相生,难易相成,长短相形,高下相倾,音声相和,前后相随,恒也。”
- 既然有 "hard",那么应该也有 "soft"
- 其实还有一个 "mixed"
--hard | 移动 HEAD,使指向的“快照”用于暂存区 |
--soft | 移动 HEAD 的指向,但不回滚 |
--mixed | 默认值,将“快照”回滚到暂存区 |