目录

  • 前言
  • 一、SourceTree
  • 二、Git for Windows (previously MSysGit)
    • 1. 下载补丁
    • 1.1 getopt.exe
    • 1.2 libintl3.dll
    • 1.3 libiconv2.dll
    • 1.4 安装补丁
    • 2. 安装Git Flow
    • 3. 测试
      • 3.1 初始化(Initialize)
      • 3.2 设置远程
      • 3.3 创建分支
      • 3.4 功能开发
      • 3.5 功能提交
      • 3.6 推送分支
      • 3.7 拉取分支
      • 3.7 更新分支
      • 3.8 功能完成
      • 3.9 推送develop分支
      • 3.10 上线
  • 三、一键安装
  • 参考文献

前言

GitFlow 是一种 Git 工作流,这个工作流程围绕着project的发布(release)定义了一个严格的如何建立分支的模型。它是团队成员遵守的一种代码管理方案 。
由于它只是一个规范,你可以掌握规范后通过git命令实现,也可以通过一些工具的封装进行使用。

推荐一个Git Flow规范教程:Git之GitFlow工作流 | Gitflow Workflow(万字整理,已是最详)

一、SourceTree

SourceTree是一款免费的Git图形化客户端,它由Atlassian开发,提供了跨平台的支持,可运行在Windows和Mac操作系统上。Sourcetree可以让开发者更方便地使用Git来管理代码,不需要在命令行中输入复杂的Git命令,而是通过可视化的界面完成代码管理操作。

SourceTree 是 Windows 和Mac OS X 下免费的 GitHg 客户端,拥有可视化界面,容易上手操作。同时它也是MercurialSubversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。最主要是它,支持中文、支持中文、支持中文。

SourceTree支持多种Git工作流,例如Git FlowGitHub Flow等,可以帮助开发者更好地管理Git分支、合并代码、提交代码等操作。此外,SourceTree还集成了一些实用的功能,例如自动提交、撤销提交、文件比较、文件历史记录等,方便开发者进行代码管理和版本控制。

安装及使用教程参考:【保姆级喂饭教程】Git图形化客户端Sourcetree安装及使用教程


二、Git for Windows (previously MSysGit)

Git for Windows就是我们在Windows上安装的git,以前的名称叫做MSysGit,我们平常用到最多的就是它提供的Git Bash

在项目文件夹空白处右键,选择Git Bash Here即可打开
在这里插入图片描述
推荐一个Git安装教程:Git安装配置使用详解(全网最全)

Git Flow官网教程:https://github.com/nvie/gitflow/wiki/Windows

1. 下载补丁

如图所示,需要下载getopt.exe、libintl3.dll、libiconv2.dll三个文件
在这里插入图片描述

1.1 getopt.exe

打开下载连接:https://gnuwin32.sourceforge.net/packages/util-linux-ng.htm
点击Binaries后面的Zip下载二进制文件
在这里插入图片描述
跳转到sourceforge过5秒会自动下载
在这里插入图片描述

1.2 libintl3.dll

打开下载连接:https://gnuwin32.sourceforge.net/packages/libintl.htm
点击Binaries后面的Zip下载二进制文件
在这里插入图片描述

1.3 libiconv2.dll

打开下载连接:https://gnuwin32.sourceforge.net/packages/libiconv.htm
在这里插入图片描述

1.4 安装补丁

解压缩下载文件,依次打开bin文件找到对应补丁,其他不需要,后面我会提供一个压缩包,包括后面用到的git flow项目文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
复制到git的安装目录下的bin文件夹中
在这里插入图片描述

2. 安装Git Flow

继续按照官方教程
在这里插入图片描述
找一个文件夹,右键选择Git Bash Here,打开后复制粘贴克隆命令:

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

注意git不走代理,需要开启虚拟网卡模式,而git://仍然连接不上
在这里插入图片描述
遂换成http地址,加上--recursive参数是为了递归克隆,因为原项目中使用链接引入了另一个项目

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

链接的项目下载失败了,猜测应该没用,先不管它了,需要的话可以直接到GitHub上通过网页下载
在这里插入图片描述
重新通过GitHub下载一下,这样仓库更简洁,没有.git文件,文件日期也是原日期,好看一些
在这里插入图片描述
解压后点击进入contrib文件夹
在这里插入图片描述
直接在路径栏输入cmd,即可从当前目录打开cmd窗口,也可以通过cd进入
在这里插入图片描述
输入下面命令,git地址替换为安装路径

msysgit-install.cmd "Git 地址"

在这里插入图片描述
可以看到就是把git flow对应分支文件复制到git的bin目录下,也需要用到之前没下载下来的文件
在这里插入图片描述
正好直接把cmd脚本扔给ai分析一下,确认就是简单的复制文件,完全可以手动实现
【AI问答】GitFlow中msysgit-install.cmd代码分析

先去下载一下引用的项目
https://github.com/nvie/shFlags/tree/2fb06af13de884e9680f14a00c82e52a67c867f1
在这里插入图片描述
解压后复制到shFlags文件下
在这里插入图片描述
再次执行会触发覆盖安装,输入y后会删除再复制
在这里插入图片描述
最终git/bin目录如下
在这里插入图片描述

3. 测试

在随意一个文件夹打开git bash,输入git flow,显示如下说明安装成功
在这里插入图片描述
创建一个空项目,创建一个空文件备用,下面模拟一个日常开发流程
在这里插入图片描述
在gitlab上创建一个空项目
在这里插入图片描述

3.1 初始化(Initialize)

git flow init

会依次让你设置各类分支名称,一路回车默认即可,版本前缀我加了一个v
创建完成后会自动切换到develop分支
在这里插入图片描述

3.2 设置远程

有时候可能会需要和别人共同开发,或者需要提交每日工作进度,需要把功能分支提交到gitlab上

git remote add origin 仓库地址 # 设置远程仓库
git remote -v  # 显示所有远程仓库地址

在这里插入图片描述
推送master分支

git checkout master # 切换分支
git push -u origin master # 关联并推送(使用 -u 或 --set-upstream)

在这里插入图片描述

推送develop分支

git checkout develop # 切换分支
git push -u origin develop # 关联并推送(使用 -u 或 --set-upstream)

在这里插入图片描述
gitlab分支如下
在这里插入图片描述

3.3 创建分支

各种分支管理流程基本一致,这里以功能分支作为示例,

git flow feature start 分支名

git flow会基于develop分支创建feature分支,无论当前是什么分支,创建后会自动切换到功能分支
在这里插入图片描述

3.4 功能开发

打开main文件输入一些文本
在这里插入图片描述

3.5 功能提交

git status #提交前查看暂存文件
git add . #添加文件
git commit -m "提交信息" #提交信息,-m 为单行信息

在这里插入图片描述

3.6 推送分支

# 首先要创建远程并关联,两种写法均可,如果功能分支或者人员比较多,可以考虑不推送功能分支
git flow feature publish 分支名 # 推送到远程仓库
git push -u origin feature/分支名 

在这里插入图片描述
在这里插入图片描述

3.7 拉取分支

有推送当然就有拉取,除第一次外,每次推送前都应该先拉取

git pull

在这里插入图片描述
或者用git flow封装的拉取命令

git flow feature pull origin 分支名

如果是第一次拉取一个别人的分支,更推荐用下面这个,我拉取的是自己就失败了

git flow feature track 分支名

在这里插入图片描述

3.7 更新分支

功能更新后再次推送

git push

3.8 功能完成

git flow feature finish 分支名

git flow会帮我们把功能分支合并到本地develop分支,并把功能分支和远程功能分支删除
在这里插入图片描述
在这里插入图片描述

3.9 推送develop分支

目前新的功能还在本地develop分支,需要推到远程develop分支

git push

在这里插入图片描述

3.10 上线

后续就是创建release分支,然后设置版本号和tag,完成分支时自动合并至develop分支和master分支

三、一键安装

由于所有的补丁文件只需复制到git的bin目录下即可,所以可以提前把所有文件打成一个压缩包,这样直接解压不就好了,我已经打包好啦,需要的同学直接下载解压就可以
Git Flow一键安装补丁
想自己操作的也可以下载源文件学习一下
Git Flow补丁源文件


参考文献

Git之GitFlow工作流 | Gitflow Workflow(万字整理,已是最详)
【保姆级喂饭教程】Git图形化客户端Sourcetree安装及使用教程
Git安装配置使用详解(全网最全)
https://github.com/nvie/gitflow/wiki/Windows
【AI问答】GitFlow中msysgit-install.cmd代码分析
https://github.com/nvie/shFlags/tree/2fb06af13de884e9680f14a00c82e52a67c867f1


喜欢的点个关注吧><!祝你永无bug~~~

/*_ooOoo_o8888888o88" . "88(| -_- |)O\  =  /O____/`---'\____.'  \\|     |//  `./  \\|||  :  |||//  \/  _||||| -:- |||||-  \|   | \\\  -  /// |   || \_|  ''\---/''  |   |\  .-\__  `-`  ___/-. /___`. .'  /--.--\  `. . __."" '<  `.___\_<|>_/___.'  >'"".| | :  `- \`.;`\ _ /`;.`/ - ` : | |\  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^佛祖保佑       永无BUG
*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914243.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914243.shtml
英文地址,请注明出处:http://en.pswp.cn/news/914243.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

manifest.json只有源码视图没其他配置

项目场景&#xff1a;提示&#xff1a;这里简述项目相关背景&#xff1a;有时候我们从git上面拉下代码&#xff0c;第一次运行时发现&#xff0c;没运行项&#xff0c;再看manifest.json文件&#xff0c;就只有json文件&#xff0c;没有其他配置项原因分析&#xff1a;提示&…

数据分析-名词

一、网页访问数据指标1.IP &#xff08;Internet Protocol&#xff09;独立IP 通常采用独立IP数&#xff0c; 理论上指00:00-24:00内相同IP地址重复访问只被计算一次。而不同的商业统计工具&#xff0c;缩短去 掉重复统计的时间&#xff0c;也是数据统计放大的一个常用套路。 &…

UDP属于是一种什么服务器?

UDP是一种传输层协议&#xff0c;通常会被应用在计算机网络中&#xff0c;为企业与用户提供无连接的数据信息传输功能&#xff0c;与TCP协议相比较来说&#xff0c;UDP会更加的简单但是UDP在可靠性方面没有一定的保证&#xff0c;属于是一种基于UDP协议进行通信的服务器。UDP服…

ARM单片机OTA解析(一)

文章目录一、单片机烧写程序的几种方法二、Bootloader如何加载启动App一、单片机烧写程序的几种方法 在线应用编程&#xff0c;由开发者实现Bootloader功能&#xff0c;比如ARM单片机的Code分区中的Flash本是存储用户应用程序的区间(上电从此处执行用户代码)&#xff0c;开发者…

C语言基础教程--从入门到精通

C语言基础教程–从入门到精通&#xff08;总体概括&#xff09; 接下来会对每一个章节进行详细的总结与整理&#xff0c;希望对大家有用&#xff01;大家一起学习&#xff01; 目录C语言基础教程--从入门到精通&#xff08;总体概括&#xff09;**接下来会对每一个章节进行详细…

单细胞分析教程 | (二)标准化、特征选择、降为、聚类及可视化

在完成质控&#xff08;QC&#xff09;后&#xff0c;我们已经过滤掉了低质量细胞、双细胞和低表达基因&#xff0c;获得了较为干净的单细胞数据集单细胞分析教程 | &#xff08;一&#xff09;Python单细胞质控全流程。接下来&#xff0c;我们将进行以下关键步骤&#xff1a; …

大模型 Agent(智能体)技术简介

大模型 Agent&#xff08;智能体&#xff09;技术 是当前人工智能领域的前沿方向&#xff0c;它赋予大型语言模型&#xff08;LLM&#xff09;自主感知、规划、决策和行动的能力&#xff0c;使其不再局限于“被动应答”&#xff0c;而是能主动完成复杂任务。简单来说&#xff0…

OneCode 3.0架构深度剖析:工程化模块管理与自治UI系统的设计与实现

引言 OneCode 3.0作为新一代低代码开发平台&#xff0c;其架构设计围绕"工程模块化"与"UI自主化"两大核心目标展开。本文将从底层接口到上层应用&#xff0c;全面解析OneCode 3.0的技术架构&#xff0c;包括核心工厂类、工程管理接口、数据仓库设计以及动态…

功耗校准数据PowerProfile测试方法建议

场景步骤版本:xxxxA1A2结果&#xff08;mA&#xff09;screen,full1.打开飞行模式&#xff0c;灭屏时间最长&#xff0c;其他的基础功能关2.进入到日历应用界面3.将亮度设置至最大&#xff08;4095&#xff09;&#xff0c;待电流稳定后&#xff0c;测试5分钟&#xff0c;记录电…

[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+vue实现的供电公司安全生产考试管理系统,推荐!

摘 要 使用旧方法对安全生产考试信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在安全生产考试信息的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#xff0c;数据存在错误不能及时纠正等问题。 这次开发的供电公…

输入框过滤选项列表,el-checkbox-group单选

需求&#xff1a;根据输入的文本动态过滤选项列表&#xff0c;并在下方显示匹配到的选项。当用户勾选匹配到的选项时&#xff0c;把该选项的值赋值给输入框中绑定的值。当用户取消选择时&#xff0c;输入框中的字段可以随意编辑。组件&#xff1a;el-input、el-checkbox-group、…

身份认证缺陷

Authentication Bypasses审计创建AccountVerificationHelper实例&#xff0c;用于处理账户验证逻辑parseSecQuestions函数的作用是从请求体中遍历参数名&#xff0c;找到包含secQuestion的参数&#xff0c;将其值存入Map中并返回这里直接把AccountVerificationHelper整个分析一…

火山引擎:字节跳动的技术赋能初解

火山引擎是字节跳动旗下的企业级智能技术服务平台&#xff0c;于2020年6月正式上线。它通过开放字节跳动在大数据、人工智能、视频云等领域的核心技术&#xff0c;助力企业实现数字化转型与业务增长。火山引擎界面核心能力与技术亮点:1.全栈云服务公有云与混合云&#xff1a;提…

VUE 带有搜索功能的穿梭框(简单demo)

一、template/ 组件代码<el-dialog :title"title" :visible.sync"dialogVisible" width"60%" :before-close"handleClose" class"custom-dialog-line" ><div style"text-align: center ; width: 100%; height…

写个扫雷小游戏

1.test.c&#xff08;测试源文件&#xff09;2.game.c&#xff08;游戏源文件&#xff09;3.头文件

【Linux庖丁解牛】— system V共享内存!

1. 什么是system VSystem V IPC&#xff08;Interprocess Communication&#xff0c;进程间通信&#xff09;是Unix系统中一种经典的进程间通信机制&#xff0c;由AT&T在System V.2版本中引入&#xff0c;并广泛应用于Linux等现代操作系统中。它通过三种核心机制实现进程间…

从输入到路径:AI赋能的地图语义解析与可视化探索之旅(2025空间智能全景)

​​摘要​​在空间智能爆发的2025年&#xff0c;地图系统已从静态导航工具进化为​​实时决策中枢​​。本文深度解析AI如何重构地理信息处理全链路&#xff1a;通过​​多模态语义理解​​&#xff08;文本/语音/图像→空间意图&#xff09;、​​动态路网建模​​&#xff0…

安全运维新趋势:AI 驱动的自动化威胁检测

在数字化浪潮中&#xff0c;网络攻击正从 “单点突破” 进化为 “链状打击”&#xff1a;2024 年某金融机构遭遇供应链攻击&#xff0c;恶意代码通过运维通道潜伏 3 个月&#xff0c;传统规则引擎因未识别 “正常运维指令中的异常参数”&#xff0c;导致数据泄露损失过亿。这背…

数据库复合索引设计:为什么等值查询列应该放在范围查询列前面?

前言作为后端开发工程师&#xff0c;我们经常会遇到数据库查询性能问题。在一次系统优化中&#xff0c;我发现一个简单的索引顺序调整竟然让查询速度提升了10倍&#xff01;这让我意识到复合索引列顺序的重要性。今天&#xff0c;我就来分享一下这个经验&#xff0c;希望能帮助…

【PMP备考】每日一练 - 2

1、一个建筑项目的项目经理发现&#xff0c;他管理的项目所在地附近正在新建一条新的水管线。公司政策要求&#xff0c;在他的团队继续完成这个项目之前&#xff0c;必须先填写一系列有关城市环境变化的表格。这是那两种情况的例子&#xff1f;&#xff08;选2个选项&#xff0…