目录
- 前言
- 一、SourceTree
- [二、Git for Windows (previously MSysGit)](#二、Git for Windows (previously MSysGit))
-
- [1. 下载补丁](#1. 下载补丁)
- [1.1 getopt.exe](#1.1 getopt.exe)
- [1.2 libintl3.dll](#1.2 libintl3.dll)
- [1.3 libiconv2.dll](#1.3 libiconv2.dll)
- [1.4 安装补丁](#1.4 安装补丁)
- [2. 安装Git Flow](#2. 安装Git Flow)
- [3. 测试](#3. 测试)
-
- [3.1 初始化(Initialize)](#3.1 初始化(Initialize))
- [3.2 设置远程](#3.2 设置远程)
- [3.3 创建分支](#3.3 创建分支)
- [3.4 功能开发](#3.4 功能开发)
- [3.5 功能提交](#3.5 功能提交)
- [3.6 推送分支](#3.6 推送分支)
- [3.7 拉取分支](#3.7 拉取分支)
- [3.7 更新分支](#3.7 更新分支)
- [3.8 功能完成](#3.8 功能完成)
- [3.9 推送develop分支](#3.9 推送develop分支)
- [3.10 上线](#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 下免费的 Git
和 Hg
客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial
和Subversion
版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。最主要是它,支持中文、支持中文、支持中文。
SourceTree
支持多种Git工作流,例如Git Flow
、GitHub 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
,打开后复制粘贴克隆命令:
bash
git clone --recursive git://github.com/nvie/gitflow.git
注意git不走代理,需要开启虚拟网卡模式,而git://
仍然连接不上
遂换成http地址,加上--recursive
参数是为了递归克隆,因为原项目中使用链接引入了另一个项目
bash
git clone --recursive https://github.com/nvie/gitflow.git
链接的项目下载失败了,猜测应该没用,先不管它了,需要的话可以直接到GitHub上通过网页下载
重新通过GitHub下载一下,这样仓库更简洁,没有.git
文件,文件日期也是原日期,好看一些
解压后点击进入contrib
文件夹
直接在路径栏输入cmd
,即可从当前目录打开cmd窗口,也可以通过cd进入
输入下面命令,git地址替换为安装路径
cmd
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)
bash
git flow init
会依次让你设置各类分支名称,一路回车默认即可,版本前缀我加了一个v
创建完成后会自动切换到develop分支
3.2 设置远程
有时候可能会需要和别人共同开发,或者需要提交每日工作进度,需要把功能分支提交到gitlab上
bash
git remote add origin 仓库地址 # 设置远程仓库
git remote -v # 显示所有远程仓库地址

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

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

gitlab分支如下
3.3 创建分支
各种分支管理流程基本一致,这里以功能分支作为示例,
bash
git flow feature start 分支名
git flow会基于develop分支创建feature分支,无论当前是什么分支,创建后会自动切换到功能分支
3.4 功能开发
打开main文件输入一些文本
3.5 功能提交
bash
git status #提交前查看暂存文件
git add . #添加文件
git commit -m "提交信息" #提交信息,-m 为单行信息

3.6 推送分支
bash
# 首先要创建远程并关联,两种写法均可,如果功能分支或者人员比较多,可以考虑不推送功能分支
git flow feature publish 分支名 # 推送到远程仓库
git push -u origin feature/分支名
3.7 拉取分支
有推送当然就有拉取,除第一次外,每次推送前都应该先拉取
bash
git pull

或者用git flow封装的拉取命令
bash
git flow feature pull origin 分支名
如果是第一次拉取一个别人的分支,更推荐用下面这个,我拉取的是自己就失败了
bash
git flow feature track 分支名

3.7 更新分支
功能更新后再次推送
bash
git push
3.8 功能完成
bash
git flow feature finish 分支名
git flow会帮我们把功能分支合并到本地develop分支,并把功能分支和远程功能分支删除
3.9 推送develop分支
目前新的功能还在本地develop分支,需要推到远程develop分支
bash
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~~~
txt
/*
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
.' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永无BUG
*/