不折腾一下官网,看下原版信息,翻再多的blog都迷茫。
Git
官方直接有推荐书籍,并且还是多语言版本,在线免费阅读,免费下载
Git - Book
无力多说,在线书籍已经如此详细完善了,再有补充应该的啃git源码了。
个人补充总结:
首先需要明确一些原理:
- 我们可以简单理解为git 以每一个commit作为操作的单位,一个节点。
- 所以所有的commit组合成一个链表,每一个commit节点指向上一个commit(也可以看做一棵树)
如果把所有commit 依次编号为C0,C1,C2,C3...Cn, 我们checkout 到master分支,并提交四次,这个时候git branch branch_01 新建一个branch_01分支,结果如下:
git log --graph也可以看到输出结果,一般可以简化输出(--oneline)并且查看所有commit(--all,会显示不在当前分支上的commit) 用命令: #git log --oneline --all --graph - 分支是一个指向链表末端的指针。(树枝末梢)
因为当前branch_01还没有其他的提交,所以它和master分支其实指向的是同一个commit, C3。HEAD指向当前工作的分支如果此时checkout到 branch_01分支,那么HEAD指针就指向branch_01.
如果我们checkout到branch_01上,然后在branch_01上做个提交C4,那么将会是这样:
再checkout回到master, 在master上提交C4', 这个时候两个分支才像那么回事,出现了分叉
不常用命令简记,以备不时之需:
- help:
获取帮助
若你使用 Git 时需要获取帮助,有三种方法可以找到 Git 命令的使用手册:
$ git help <verb>
$ git <verb> --help
$ man git-<verb>
例如,要想获得 config 命令的手册,执行 $ git help config - git branch -vv
(列出当前本地仓库分支的详细信息,包括关联到的远程分支,以及和远程分支的版本差距) - git remote -v
(列出远程仓库及其关联url) - 持续补充。。。