学习下git中的gitflow流程

当在团队开发中使用版本控制系统时,商定一个统一的工作流程是至关重要的。Git 的确可以在各个方面做很多事情,然而,如果在你的团队中还没有能形成一个特定有效的工作流程,那么混乱就将是不可避免的。

目的
为了帮助我们解决这个混乱流程,我们将在内部执行一套流程,帮助我们管理整个流程。

gitflow操作流程
gitflow简介

image

我们主要区分为5个操作。

master生产分支:每个版本通过tag来控制,版本控制采用三位数确定。数字顺序采用从左往右。 bug修复最后一位,小版本迭代采用第二位数字,大版本跌迭采用第一位数字。

hotfix: 上线版本的bug修复,修复完毕需要合并到dev与master主支。如果存在relase分支,那么也需要合并到relase分支上。

relase:功能开发完毕与单机测试完毕,需要进行联合测试的分支。该版本测试完毕,合并到master与dev分支,并且进行删除。relase采用commitID的前五位或者前六位作为标签迭代。

dev: 开发分支,整个程序开发流程都是在dev开发分支上。开发分支采用latest作为做新的版本。

feature: 新功能分支,每一个功能开辟一个分支,开发完毕合并到dev分支,自己独立控制功能分支操作

在git中,每一个点的出现都会有对应的操作。

流程操作。
流程操作,只提供一种方式。其他方式可以根据自己习惯来执行。

进行开发的时候,使用dev远程分支开发,创建feature分支。

克隆的代码是按照master主干为主的代码

git clone ssh://[email protected]:2022/fruiqi/demo1.git

查看所有分支

buntu@node1:~/code/test/demo1$ git branch -a 
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/maste

下载dev分支代码

直接创建feature分支开发

ubuntu@node1:~/code/test/demo1$ git checkout -b feature/select origin/dev 
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'feature/select'
开心的在上面开发吧

在本地dev分支上 remotes/origin/maste创建feature进行开发。

ubuntu@node1:~/code/test/demo1$ git checkout -b dev origin/dev 
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'

ubuntu@node1:~/code/test/demo1$ git branch -a 
* dev
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master

ubuntu@node1:~/code/test/demo1$ git checkout feature/dev 
Switched to branch 'feature/dev'

ubuntu@node1:~/code/test/demo1$ git branch -a 
  dev
* feature/dev
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master

修改代码后进行修改

采用本地dev分支上,建立新的分支feature进行修改操作。

修改代码

使用git status 查看修改的内容,防止多余的不必要内容上传到仓库中。

git add 需要增加到仓库的文件内容

git commit -m “增加描述”

git checkout dev

git pull origin dev 将本地dev的分支与远程dev分支进行同步

git merge feature/dev 合并功能分支到本地的dev分支上,如果出现矛盾代码,进行解决后,再次提交。

git tag -a tagName

git push origin dev 推送到远程的dev分支。

git add README.md  
git commit -m "描述"
git checkout dev 
git pull origin dev  更新本地的dev分支
git merge feature/dev 合并分支,并解决矛盾冲突,再次提交
git tag -a tagName 打上tag
git push origin dev  tagName 推送到远程分支

进行分支开发的一个流程如上,当然还有别的操作流程,大家可以根据自己的操作习惯进行操作。符合gitflow 流程即可。

其他出现的分支操作与此基本一致,需要注意的是有需要打tag的进行打上tag操作.

原文发布时间为:2019-1-6
本文作者:琪琪
本文来自云栖社区合作伙伴“ LuckQI ”,了解相关信息可以关注“YoungRUIQ”微信公众号

猜你喜欢

转载自yq.aliyun.com/articles/684958