学习下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”微信公众号

相关文章
|
7月前
|
Linux 开发工具 C语言
Linux的学习之路:7、yum与git
Linux的学习之路:7、yum与git
66 0
|
23天前
|
开发工具 git
学习Git的最佳实践有哪些?
遵循这些最佳实践,能让你更高效地使用 Git,更好地管理项目的版本和协作。
|
23天前
|
存储 开发工具 git
Git 学习----基本概念
理解这些基本概念是掌握 Git 操作的重要基础,它们为有效地管理项目的版本和开发过程提供了支持。通过不断实践和使用 Git,开发者可以更加高效地协作和管理项目的演变
|
2月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
137 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
2月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
179 1
git学习三:git使用:删除仓库,删除仓库内文件
|
1月前
|
开发工具 C# git
C#一分钟浅谈:Git 版本控制与 GitFlow 工作流
【10月更文挑战第22天】本文介绍了 Git 和 GitFlow 的结合使用,从基础概念到具体操作,涵盖了安装配置、基本命令、GitFlow 工作流的核心分支和流程示例。同时,文章还讨论了常见的问题和易错点,如忽略文件、冲突解决、回退提交和分支命名规范,并提供了代码案例。通过学习本文,读者可以更好地理解和应用 Git 及 GitFlow,提高团队协作效率。
56 1
|
6月前
|
存储 网络安全 开发工具
【GIT】Git常用命令学习
【GIT】Git常用命令学习
69 1
|
2月前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
218 0
|
2月前
|
编译器 网络安全 开发工具
git学习五:切换本地仓库出现的问题。修改git配置初始化。error:src refspec master does not match any。错误总结,送上几个案例
这篇文章是关于Git使用中遇到的一些问题及其解决方案的总结,包括切换本地仓库时的问题、修改Git初始化配置、以及解决"error: src refspec master does not match any"错误等。
68 0
|
3月前
|
图形学 开发工具 git
Unity与版本控制:游戏开发团队如何利用Git打造高效协作流程,实现代码管理的最佳实践指南
【8月更文挑战第31天】版本控制在软件开发中至关重要,尤其在Unity游戏开发中,能提升团队协作效率并避免错误。本文介绍如何在Unity项目中应用版本控制的最佳实践,包括选择Git、配置项目以排除不必要的文件、组织项目结构、避免冲突、规范提交信息以及使用分支管理开发流程,从而提高代码质量和团队协作效率。
313 1