git是分布式版本库管理系统中的一个主要工具,在这里,首先明确的是git的地位。
git 是如何实现版本库的管理工作:
(1)git初始化会创建git分支,默认情况下,创建的是主分支,即master,如果没有在继续创建工作分支的话,默认开发是在master主分支上进行的,但是这个显然不是我们要的结果。
git init :创建一个有master分支的版本库。
(2)git的工作分支,git上关于工作的分支,称之为work分支,develop。master和develop的关系中表明,master是提供给用户的正式版本,每次发布的正式版本都是在master上完成的。develop分支是我们的工作分支,是根据master创建出来的,代码是要和master同步的。
在develop上完成的开发之后,要发布正式的版本就把这个位于develop上的代码合并到master分支上面。
// 基于主分支创建工作分支:
git checkout - b develop master
// 切换到主分支master
git checkout master
// 合并develop分支到主分支, develop是 --no-ff 参数,表示正常合并
git merge --no-ff develop
- git 的master、develop分支之外的常用临时分支:
(1)release :预测版本分支,就是在master正式版本发布之前,用于预测的,应用在开发人员内部的。这个分支是从develop工作分支上创建的,最后要合并到两处,分别是 develop,master。
// 基于develop创建release分支
git checkout -b release-1.0 develop
//之后将这个release合并到develop和master分支上
git checkout master
git merge --no-ff release-1.0
// 对合并生成的新节点,做一个标签
git tag -a 1.0
develop的合并和master一样。
// 用完之后将这个分支删除
git branch -d release-1.0
(2)feature : 功能分支,功能分支是为了完成开发中某项功能的,它是从develop分支上创建出来的,完成功能开发之后合并到develop分支上。在完成功能合并完事后,就把这个feature分支删掉。
git checkout -b feature-x develop
git checkout develop
git merge --no-ff feature-x
git branch -d feature-x
(3)fixBug分支
顾名思义,是用来修补代码中的bug,这个是从master分支中创建出来的,但是也同时要合并到两个分支上,develop 和master分支上边。
// 创建分支
git checkout -b fixbug-1.0 master
// 完成修复后合并到主分支
git checkout master
git merge --no-ff fixbug-1.0
// 添加一个标签
git tag -a 1.0
同时,也要合并到develop分支
git checkout develop
git merge --no-ff fixbug-1.0
保持分支的整洁,用完这个fixBug之后将这个分支删除:
git branch -d fixbug-1.0
总结:
以上简单说明了git 主分支和工作分支develop,应该首先理解git 分布式管理的思想,明白了这个分支思想的本质,接下来就是git命令的使用了。