http://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%80%E4%BB%8B
基础
Git 研发组织鼓励开发人员频繁地创建和使用分支。
HEAD是一个指针,指向当前所在的本地分支(译注:将 HEAD
想象为当前分支的别名)。
master是默认分支名 。
f30ab-->34ac2--->98ca9 是一系列提交的历史结点,每个提交结点对应一组文件快照(图中Snapshot A,B,C)。每个提交历史结点都可以创建一个分支。
v1.0 是提交时创建的标签
当在f30ab创建分支testing时 master,testing,HEAD 如下图:
从分支testing切换回分支master后如下:这张图形象的显示了两个分支。
示例
1,查看当前仓库中本地的分支,-v表示查看每一个分支的最后一次提交。
$ git branch -v
iss53 93b412c fix javascript issue
* master 7a98805 Merge branch 'iss53'
testing 782fd34 add scott to the author list in the readmes
分支前的 *
字符 代表现在 HEAD
指针所指向的分支)。
2,分支创建
$ git branch testing
切换致到xxx分支
$ git checkout testing
以上两句代码也可合并成一句:
$ git checkout -b testing
3,然后就可在该分支上工作了
注意:
分支切换会改变你工作目录中的文件
在切换分支时,一定要注意你工作目录里的文件会被改变。 如果是切换到一个较旧的分支,你的工作目录会恢复到该分支最后一次提交时的样子。
4,合并分支到主分支master
先切换到主分支master
$ git checkout master
然后执行下面:
$ git merge hotfix
如果合并时产生冲突,请解决它们,然后使用 git add
命令来将其标记为冲突已解决。
查看哪些分支已经合并到当前分支
$ git branch --merged
查看所有包含未合并工作的分支
$ git branch --no-merged
5,删除不再需要的分支
$ git branch -d hotfix