【Git 权威指南】读书笔记 - 独奏 - Part 2
主要内容:【Git 重置】、【Git 检出】、【恢复进度】 Git 重置 分支游标 master 的探秘 git log --graph --oneline * e695606 which version checked in? * a0c641e who does commit? * 9e8a761 initialized. 引用 refs/heads/master 就好像是一个游标,在有新的提交发生的时候指向了新的提交。 Git 提供了 git reset 命令,可以将“游标”指向任意一个存在的提交 ID。注意下面的命令中使用了 --hard 参数,会破坏工作区未提交的改动,慎用。 git reset --hard HEAD^ HEAD is now at e695606 which version checked in? 用 reflog 挽救错误的重置 通过 .git/logs 目录下日志文件记录了分支的变更。默认非裸版本库(带有工作区)都提供分支日志功能,这是因为带有工作区的版本库都有如下设置: git config core.logallrefupdates true 查看一下 master 分支的日志文件 .git/logs/refs/heads/master 中的内容。 tail -5 .git/logs/refs/heads/master Git 提供了一个 git reflog 命令,对这个文件进行操作。 ...