git-flow的安装和使用

git配置SSH Key

  1. git bash命令行中输入  ssh-keygen -t rsa -C '[email protected]',然后一路回车
  2. 打开C:\Users\Administrator\.ssh\id_rsa.pub文件
  3. 添加key到gitLab上

git-flow安装步骤:

1、下载安装git:https://git-scm.com/downloads

2、下载getopt.exe:http://downloads.sourceforge.net/gnuwin32/util-linux-ng-2.14.1-bin.zip

      下载libintl3.dll:http://gnuwin32.sourceforge.net/downlinks/libintl-bin-zip.php

      下载libiconv2.dll:http://gnuwin32.sourceforge.net/downlinks/libiconv-bin-zip.php

       解压下载的三个zip文件,将bin目录下的三个文件放入你的Git安装目录的bin文件夹中

git-flow的安装和使用_第1张图片

3、获取git flow

在git目录下打开git bash

$ git clone --recursive git://github.com/nvie/gitflow.git

会在git目录下生成一个gitflow文件夹

4、进入gitflow\contrib路径,打开CMD

执行  msysgit-install.cmd "d:\Program Files\Git"

5、git bash指令窗口,执行git flow

git-flow的安装和使用_第2张图片

6、初始化git flow。执行git flow init,一直按回车即可

git-flow的安装和使用_第3张图片

git flow主要分支

master:永远处于production-ready状态

  • 主分支,产品的功能全部实现后,最终在master分支对外发布;
  • 只读分支,只能从release或hotfix分支合并,不能修改;
  • 所有在master分支的推送应该做标签记录,方便追溯。

develop:最新的下次发布的开发状态

  • 主开发分支,基于master分支克隆,发布到下一个release;
  • 只读分支,feature功能分支完成,合并到develop(不推送);
  • develop拉取release分支,提测;
  • release/hotfix分支上线完毕,合并到develop并推送。

feature:开发新功能都从develop分支出来,完成后merge回develop

  • 功能开发分支,基于develop分支克隆,用于新需求的开发;
  • 功能开发完毕后合并到develop分支(未正式上线之前不能推送到远程中央仓库)
  • feature可以同时存在多个,用于团队多功能同步开发,属于临时分支,开发完毕后可以删除。

release:准备要release的版本,只修bug。从develop出来,完成后merge回master和develop

  • 测试分支,feature分支合并到develop分支之后,从develop分支克隆;
  • 只要用于提交给测试人员进行功能测试,测试过程中如果发现BUG在release分支修复,修复完成上线后合并到develop/master分支并推送完成,做标签记录;
  • 临时分支,上线后可删除。

hotfix:等不及release版本就必须马上修复master上线。从master出来,完成后merge回master和develop

  • 补丁分支,基于master分支克隆,主要用于对线上的版本进行BUG修复;
  • 修复完毕后合并到develop/master分支并推送,做标签记录;
  • 所有hotfix分支的修改会进入到下一个release;
  • 临时分支,补丁修复上线后可以删除。

 

主要工作流程:

  1. 初始化项目为git flow,默认创建master分支,然后从master拉取第一个develop分支;
  2. 从develop拉取feature分支进行功能开发(多个feature分支同时进行);
  3. feature分支完成后,合并到develop(不推送,还未提测,会影响其他功能分支的开发),当前feature分支不可修改,必须从release分支继续编码修改;
  4. 从develop拉取release分支提测,提测过程中在release分支上修改BUG;
  5. release分支上线后,合并到develop和master并推送;
  6. 上线后发现bug,从master拉取hotfix进行bug修复;
  7. hotfix通过测试后上线;

 

常用指令:

  1. 开分支    git branch dev
  2. 切换分支   git checkout dev
  3. 开分支且切换   git checkout -b dev
  4. 切换回原分支   git checkout master
  5. 合并分支   git merge dev
  6. 查看本地分支列表   git branch -a
  7. 查看远程分支列表   git branch -r
  8. 向远程提交本地新开分支   git push origin dev
  9. 删除远程分支   git push origin -d feature/1.1.0
  10. 删除本地分支   git branch --delete feature/1.1.0
  11. 更新分支列表   git fetch -p
  12. 打tag标签  git tag 1.1.0
  13. 上传tag标签到远程  git push --tags
  14. git flow新增分支  git flow feature start 1.1.0
  15. 将本地分支推向远程   git push --set-upstream origin feature/1.1.0
  16. git flow结束分支 git flow feature finish 1.1.0

 

git和git flow实际场景:

1、查看本地代码是否有变化:git status

      清除本地代码的变更:git checkout -- src

2、项目提测,结束feature分支,拉取release分支:

// 初始化git flow
git flow init

// 结束feature/1.0.0分支,代码将自动合并到dev分支(确保本地的dev分支和远程dev分支已建立连接),此后会自动切换到dev分支
git flow feature finish 1.0.0

// dev分支代码推到远程
git push

// 创建新的release分支,此后自动切换到release分支
git flow release start 1.0.0

// 本地代码推向远程(会让你建立连接)
git push

// 本地和远程release分支建立连接
git push --set-upstream origin release/1.0.0

 

你可能感兴趣的:(Git)