几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
大致就以下几点方面对git分支的使用总结:
- 什么是分支
- 分支的创建与合并
- 遇到冲突是合并分支
- 长期分支
- 远程分支
- Bug分支
- Feature分支
- 多人协作
- 什么是分支:
几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。
现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
相对于其他版本控制系统(SVN)来说,在创建和切换分支的过程相当慢,(SVN)的分支就是版本库中的另外一个目录,然而,处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的创建,切换和删除分支,
- 分支的创建与合并
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支
一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:
Date: 2015-10-23 Author: alex cai [email protected]