Git权威指南 读笔(2)
第七章 Git重置:
Git提供了一个挽救机制,通过.git/logs目录下日志文件记录了分支的变更。
master分支的日志文件.git/logs/refs/heads/master,显示最后5行: $ tail -5 .git/logs/refs/heads/master
也可以用 git reflog 命令对这个文件进行操作。
重置命令:
$ git reset [-q] [<commit>] [--] <paths>...
不会重置引用,不会改变工作区,而是用指定提交状态(<commit>)下的文件(<paths>)替换掉暂存区中的文件
$ git reset [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]
三类操作:1替换引用的指向 2替换暂存区 3替换工作区
--soft:1 --mixed: 1 2 --hard:1 2 3
$ git reset head^ (此处 head^ 表示head的父提交)
第八章 Git检出:
分离头指针: detached head, 命令 git checkout [<commit>] 会修改head的指向。
合并操作: git merge [<commit>]
检出命令:(重置默认的是head,检出默认的是暂存区index)
$ git checkout [-q] [<commit>] [--] <paths>...
用于指定版本的文件覆盖工作区中对应的文件
$ git checkout [<branch>]
切换到分支
$ git checkout [-m] [[-b | --orphan] <new_branch>] [<start_point>]
创建和切换到新的分支