iOS 开发工具Git工具集

Git Flow工作流程

2019-01-21  本文已影响110人  AllenYZD

Git Flow工作流程

1.使用背景

在多组员,多项目等环境进行协同工作时,如果没有统一规范、统一流程,则会导致额外的工作量,甚至会做无用功。所以要减少版本冲突,减轻不必要的工作,就需要规范化的工作流程。

2.使用总则

3.分支

git-flow的分支流程图

长期分支 & 辅助分支

分支概述

3.开发流程

3.1 创建远程仓库,并拉到本地

创建远程仓库的时候默认是创建master分支的,因此拉下来的项目也处于master分支。

$ git clone ...

3.2 创建develop分支

因为master分支上面是不允许进行开发的,创建长期开发分支develop

//创建方式一
//远程仓库先创建分支,再本地创建分支,并关联远程分支
//实现方式一
$ git checkout -b develop
$ git branch --set-upstream develop/origin develop
//实现方式二
$ git checkout -b develop origin/develop //创建的同时就关联远程仓库
//如果报错,执行下面命令,在输入该命令
$ git fetch 
//实现方式三
git fetch origin develop:develop
git branch --set-upstream-to=origin/develop develop
//创建方式二
//本地创建分支,再推送到远程仓库
$ git checkout -b develop
$ git push origin develop:develop

3.3 开发新功能

$ git checkout develop
$ git checkout -b feature/a
$ git push origin feature/a:feature/a
$ git fetch origin feature/a:feature/a

3.4 完成新功能

$ git checkout develop
//-no-ff 参數可以保存feature/a分支上的历史记录
$ git merge --no-ff feature/a
$ git push origin develop
$ git branch -d feature/a
$ git push origin --delete feature/a

3.5 测试新版本

当新功能基本完成之后,我们要开始在release分支上测试新版本,在此分支上进行一些整合性的测试,并进行小bug的修复以及增加例如版本号的一些数据。版本号根据 master 分支当前最新的tag来确定即可,根据改动的情况选择要增加的位

//在develop分支中开
$ git checkout -b release/1.2.0
//将分支推送到远程(如果有必要)
$ git push origin release/1.2.0:release/1.2.0
//将本地的release分支内容更新为线上的分支
$ git pull origin release/1.0.0
//commit 一個版本,commit的信息为版本升到1.2.0」
//git commit -a相当于git add . 再git commit
$ git commit -a -m "Bumped version number to 1.2.0"
//切换至主要分支
$ git checkout master
//将release/1.2.0分支合并到主要分支
$ git merge --no-ff release/1.2.0
//上tag
$ git tag -a "1.2.0" HEAD -m "新版本改动描述"
//切换至开发分支
$ git checkout develop
//合并分支
$ git merge --no-ff release/1.2.0
//将开发分支推送到远程
$ git push origin develop
//将master分支推送到远程
$ git push origin master
$ git branch -d release/1.2.0
$ git push origin --delete release/1.2.0

3.6 修补线上Bug

git checkout master
git checkout -b hotfix/typo
git push origin hotfix/typo:hotfix/typo
//commit 一個版本,commit的信息是版本跳
$ git commit -a -m "Bumped version number to 1.2.1"
$ git commit -m "..."
$ git pull origin hotfix/typo
//切换到开发分支
$ git checkout develop
//合并
$ git merge --no-ff hotfix/typo
//切换到主要分支
$ git checkout master
//將hotfix分支合并到主要分支
$ git merge --no-ff hotfix/typo
//上tag
$ git tag -a "1.2.1" HEAD -m "fix typo"

4.命名约定

5.附加Git的冲突

欢迎关注本人博客:https://allen-yu.com/

上一篇下一篇

猜你喜欢

热点阅读