Git 分支操作
Git 分支中的对象
每个 add 为一个 「blob」 文件快照的对象,暂存操作会为每一个文件计算校验和(SHA-1 哈希算法)。
「tree」 为目录结构和 blob 对象索引。
commit obj 指向 tree obj,tree obj 指向 blob objs。master 为 Git 默认分支,是 git init 默认创建的。
「HEAD」为特殊指针,指向当前所在的本地分支。
Git 分支命令
分支创建:
$ git branch testing
查看各分支当前所指的对象:
@ git log --oneline --decorate
分支切换(使 HEAD 指向 testing 分支):
$ git checkout testing
再提交一次:
$ vim test.rb
$ git commit -a -m 'made a change'
这时,testing 分支向前移动,但是 master 分支没有,它仍然指向运行 git checkout 时所指向的对象,切换回 master 分支:
$ git checkout master
checkout master 使得「HEAD」指回 master 分支,将工作目录恢复成 master 所指向的快照内容。这就是忽略了 testing 分支所做的修改,可以向另一个方向进行开发。
分支切换会改变你工作目录中的文件。
$ vim test.rb
$ git commit -a -m 'made other changes'

可以在不同分支间不断地来回切换和工作,并在时机成熟时进行分支合并。
项目分叉历史:
$ git log --oneline --decorate --graph --all
新建分支并同是切换到该分支上(带 -b 参数的 git checkout):
git checkout -b iss53
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: