学习下git中的gitflow流程

简介: 当在团队开发中使用版本控制系统时,商定一个统一的工作流程是至关重要的。Git 的确可以在各个方面做很多事情,然而,如果在你的团队中还没有能形成一个特定有效的工作流程,那么混乱就将是不可避免的。目的为了帮助我们解决这个混乱流程,我们将在内部执行一套流程,帮助我们管理整个流程。

当在团队开发中使用版本控制系统时,商定一个统一的工作流程是至关重要的。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://git@code.infervision.com: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”微信公众号

相关文章
|
13天前
|
Linux 开发工具 C语言
Linux的学习之路:7、yum与git
Linux的学习之路:7、yum与git
11 0
|
4月前
|
开发工具 git 开发者
百度搜索:蓝易云【Git实际开发的流程】
以上是Git在实际开发中的一般流程。Git的分布式版本控制系统使得团队开发更加高效和灵活,并能有效管理项目的版本历史。
31 1
|
5月前
|
程序员 Linux 开发工具
Git基本概念、工作流程及与SVN的对比
Git基本概念、工作流程及与SVN的对比
47 0
|
6天前
|
存储 开发工具 git
|
16天前
|
Shell 测试技术 开发工具
《Git 简易速速上手小册》第9章:Git 工作流程定制(2024 最新版)
《Git 简易速速上手小册》第9章:Git 工作流程定制(2024 最新版)
25 1
|
3月前
|
安全 Shell 网络安全
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
133 0
|
3月前
|
存储 开发工具 git
Git工作流程:如何在团队中协作?
Git工作流程:如何在团队中协作?
|
4月前
|
存储 缓存 开发工具
Git 拉取合并代码流程和多人协同开发的问题解决方法
Git 拉取合并代码流程和多人协同开发的问题解决方法
67 0
|
4月前
|
网络安全 开发工具 git
Git在windows下上传文件至github流程
Git在windows下上传文件至github流程
23 0
|
4月前
|
数据可视化 测试技术 持续交付
Git Flow规范在工作中的使用流程
Git Flow规范在工作中的使用流程
39 0

相关实验场景

更多