Git 工作流程
一般工作流程如下:
克隆 Git 资源作为工作目录。
在克隆的资源上添加或修改文件。
如果其他人修改了,你可以更新资源。
在提交前查看修改。
提交修改。
在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
一 主分支master
代码库应该有且只有一个主分支
所有提供给用户使用的正式版本 都在这个主分支上发布
Git主分支的名字 默认 Master
自动建立的 版本库初始化以后 默认就是在主分支在进行开发
二 开发分支Develop
主分支只用来分布重大版本 日常开发应该在另一条分支上完成
把开发用的分支 叫做Develop
这个分支可以用来生成代码的最新隔夜版本(nightly)
想正式对外发布 就在Master分支上 对Develop分支进行"合并"(merge)
#Git创建Develop分支的命令
git checkout -b develop master
#将Develop分支发布到Master分支的命令
git checkout master
git merge --no-ff develop
--no-ff参数
默认情况下 Git执行"快进式合并" 会直接将Master分支指向Develop分支
三 临时性分支
前面讲到版本库的两条主要分支
Master和Develop
前者用于正式发布 后者用于日常开发
其实 常设分支只需要这两条就够了 不需要其他了
除了常设分支以外 还有一些临时性分支 用于应对一些特定目的的版本开发
临时性分支主要有三种:
* 功能分支 (feature)
* 预发布分支 (release)
* 修补bug分支 (fixbug)
这三种分支都属于临时性需要
使用完以后 应该删除
使得代码库的常设分支始终只有Master和Develop
四 功能分支 feature branches
为了开发某种特定功能 从Develop分支上面分出来的
开发完成后 要再并入Develop
功能分支的名字 可以采用feature-*的形式命名
#创建一个功能分支
git checkout -b feature-x develop
#合并到develop分支
git checkout develop
git merge --no--ff feature-x
#删除feature分支
git branch -d feature-x
五 预发布分支 release branches
指发布正式版本之前(即合并到Master分支之前)
可能需要有一个预发布的版本进行测试
预发布分支是从Develop分支上面分出来的
预发布结束以后 必须合并进Develop和Master分支
它的命名 可以采用release-*的形式
#创建一个预发布分支:
git checkout -b release-x develop
#确认没有问题后,合并到master分支:
git checkout master
git merge --no-ff release-x
# 对合并生成的新节点,做一个标签
git tag -a x
#再合并到develop分支:
git checkout develop
git merge --no-ff release-x
#最后记得删除预发布分支:
git branch -d release-x
六 修补bug分支 hotfixes
软件正式发布以后 难免会出现bug
这时就需要创建一个分支 进行bug修补
修补bug分支是从Master分支上面分出来的
修补结束以后 再合并进Master和Develop分支
它的命名 可以采用fixbug-*的形式
#创建一个修补bug分支:
git checkout -b fixbug-xx master
#修补结束后,合并到master分支:
git checkout master
git merge --no-ff fixbug-xx
git tag -a xx
#再合并到develop分支:
git checkout develop
git merge --no--ff fixbug-xx
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题