【保姆级喂饭教程】Windows下安装Git Flow

前言

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 分支名 # 推送到远程仓库

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

3.7 拉取分支

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

git pull

在这里插入图片描述
如果是第一次拉取一个别人的分支,用下面这个,我拉取的是自己就都失败了

git flow feature pull origin 分支名
git flow feature track 分支名

在这里插入图片描述

3.7 功能完成

git flow feature finish 分支名

git flow会帮我们把功能分支合并到develop分支,并把自己删除
在这里插入图片描述
在这里插入图片描述

三、一键安装

由于所有的补丁文件只需复制到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_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            佛祖保佑       永无BUG
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝吻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值