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

相关文章
|
9月前
|
开发工具 git 开发者
Git版本管理常见文件提交流程讲解
以上就是Git常见文件提交流程概述。掌握此流程对于任何使用Git进行版本控制和协同工作项目团队成员都至关重要。
357 13
|
11月前
|
数据可视化 Java 测试技术
Git Flow 现代实操指南含从代码提交到 CI/CD 全流程的实用技巧与长尾关键词解析 Git Flow
本指南结合现代技术趋势,详解Git Flow工作流,涵盖GitHub Actions自动化、Conventional Commits规范、Gitmoji可视化等内容,助你实现代码到CI/CD的全流程管理,提升团队开发效率与代码质量。
756 2
|
10月前
|
开发工具 git 开发者
Git流程控制:远程仓库操作的实用指南
通过遵循这些步骤和策略,你将能够更有效地与远程仓库进行交互,确保代码变更的透明度和项目历史的干净。同时,良好的版本控制习惯可以减少潜在的冲突,并帮助保持代码库的整洁。在日常工作中应用这些实用的Git流程控制技巧将是非常有益的。
299 0
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
3285 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
存储 网络安全 开发工具
【GIT】Git常用命令学习
【GIT】Git常用命令学习
318 1
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
510 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
2066 1
git学习三:git使用:删除仓库,删除仓库内文件
|
开发工具 C# git
C#一分钟浅谈:Git 版本控制与 GitFlow 工作流
【10月更文挑战第22天】本文介绍了 Git 和 GitFlow 的结合使用,从基础概念到具体操作,涵盖了安装配置、基本命令、GitFlow 工作流的核心分支和流程示例。同时,文章还讨论了常见的问题和易错点,如忽略文件、冲突解决、回退提交和分支命名规范,并提供了代码案例。通过学习本文,读者可以更好地理解和应用 Git 及 GitFlow,提高团队协作效率。
397 1