IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 如何在项目中使用git flow进行版本管理? -> 正文阅读

[开发工具]如何在项目中使用git flow进行版本管理?

在实际开发中,使用git flow可以很方便的对项目各个版本进行管理,功能开发也能够提高效率。具体使用方法如下:

安装Git客户端:

下载安装git:

??????https://github.com/petervanderdoes/gitflow-avh/wiki/Installation

选择对应的平台即可。

这里默认使用Windows平台的git:Git for Windows

PS:

1.日常开发中也会同时安装TortoiseGit,方便本地仓库中文件提交的显示,同时也能很方便的提交到远程仓库。

TortoiseGit下载链接:Download – TortoiseGit – Windows Shell Interface to Git

注意:

1.TortoiseSVN是SVN的工具,当项目中使用SVN作为版本管理工具时则需要使用TortoiseSVN来进行版本开发。下载链接:下载 · TortoiseSVN

Git 和 SVN的区别:Git与SVN对比 - WindrunnerMax - 博客园

2.TortoiseGit 和 TortoiseSVN 在对应的下载链接中都有相对应的LanguagePack多语言包,不同工具的LanguagePack不可共用。

项目中使用git flow的详细流程:

1.克隆远程仓库:

git clone 远程仓库链接

注意:

1.当使用git clone指令后会自动在当前目录下自动以远程仓库链接中项目的名字来创建文件夹

如在当前目录“D:\Project\Unity”下鼠标右键选择“Git Bash Here”打开git窗口:

?

使用git clone指令后会自动根据远程仓库链接的项目名生成对应文件夹“testBranch”。

所以并不需要另外新建一个文件夹来放置远程仓库项目,避免嵌套

2.在clone指令完毕后,

*** 会自动将本地仓库与远程仓库关联起来

*** 并且会根据远程仓库的默认分支自动在本地仓库中创建同名分支(Gitlab中默认分支是main)。

*** 如果后续需要,可以自由更改以上根据远程项目自动创建的同名文件夹的名字

? ? ?注意:更改文件夹名字并不会改变本地仓库与远程仓库的关联。

3.之后对该本地仓库和远程仓库的所有操作都需要先进入“testBranch”文件夹后再打开git窗口,不可在“testBranch”同级目录下操作。

PS:

查看本地仓库的关联状态:

git remote -v

将本地仓库与远程仓库关联起来:

git remote add 远程仓库别名(默认为origin,也可以自定义)  远程仓库链接

注意:

1.设置远程仓库别名的作用只是在后续需要使用远程仓库链接时可以直接使用这个别名来代替,不用输入长串链接。

2.将本地仓库与远程仓库同名分支关联起来也可以使用:

git push -u origin 本地分支名

2.同步远程仓库的内容到本地仓库:

PS:在第一次使用git clone指令后会默认将远程项目最新内容clone到本地仓库,此时并不需要另外再同步。

同步远程仓库指定分支到本地仓库指定分支

git pull 远程仓库别名 远程仓库指定分支:本地仓库指定分支

同步远程仓库指定分支到本地仓库当前分支

git pull 远程仓库别名 远程仓库指定分支

3.使用git flow初始化:

这里会设置Git项目各个分支的name,包含发布分支release、开发分支develop,、功能分支feature等,保持默认配置即可。

注意:执行 git flow init 指令完成后会自动将本地仓库切换到develop分支。

但是这只是在本地仓库中新建develop分支,并不会在远程仓库中新建develop分支。如果需要在远程仓库中创建develop分支则可以使用 “git push origin 本地分支名:远程分支名”,或者直接在Gitlab上创建新分支

4.新建功能开发feature分支:

在实际开发中,通常都会针对某个功能创建一个独立分支用来开发。当这个功能开发完成后再合并回develop分支,方便管理。

创建功能开发feature分支:以上git flow init指令时针对功能开发使用的分支前缀是feature,可以自由设定

git flow feature start 分支名

执行以上命令后会自动在本地仓库中创建"feature/分支名"分支:

注意:

1.git flow feature start 分支名,是在本地仓库中以develop为基础创建新分支,并不是以远程仓库中的develop分支为基础而创建,所以在开始feature分支开发时需要将本地的develop分支同步到最新状态。

2.创建的功能分支会自动添加feature前缀,所以以上得到的分支实际名字是:feature/分支名

5.在分支中提交文件到本地缓存区:

首先添加指定文件追踪:

git add 文件路径

?注意:

1.这里的文件路径是相对路径,并且是项目根目录下的相对路径

如以下添加file01.txt文件时,则直接使用 "git add file01.txt"即可

PS:当需要提交根目录下所有文件时可以使用“git add .” —— 点号,即代表根目录下所有文件

2.使用 “git status” 查看文件提交状态:

然后,在把文件都添加完成后,则将这些修改过的文件提交到本地仓库缓存区:

git commit -m "注释"

注意:如果使用TortoiseGit,那么在执行完git commit -m "注释"后则所有文件都会变绿,即提交到本地仓库完成

6.将本地仓库缓存区的内容推送到远程仓库:

将本地仓库当前分支推送到远程仓库指定分支

git push origin <本地分支名>:<远程分支名>

将本地仓库当前分支推送到远程仓库中的同名分支

git push origin <本地分支名>

注意:

1.当需要提交的文件较大时,有可能会提交失败,此时可以配置git缓存区大小:

# 缓存大小单位:B,例如:524288000(500MB)
$ git config --global http.postBuffer <缓存大小>

2.执行git push origin 操作后,如果远程仓库中没有该分支,则自动在远程仓库中创建该分支如果有,则将本地仓库当前分支的内容同步到远程仓库同名分支中。

7.关闭功能feature分支:

在整个功能都实现,并验收确认无误后,则可以使用git flow关闭该分支:

git flow feature finish 分支名

注意:

1.分支的实际名字是“feature/分支名”,但以上指令中只需要写“分支名”即可,不需要添加“feature”前缀

2.当执行以上指令后,会自动将本地仓库的分支“feature/分支名”删除,并自动切换到本地仓库的develop分支。

默认情况下,远程仓库的“feature/分支名”也会被删除。但有些项目中为了方便后期查询以及追溯,依然会在远程仓库中保留该feature分支。

3.以上操作只是将本地仓库切换到develop分支,远程仓库的develop分支不会有任何修改。所以如果要同步到远程仓库的develop分支,则需要另外使用 git push origin 本地分支名

8.将本地仓库develop分支同步到远程仓库的develop分支:

这是很重要的一步:

原因:

1.使用git flow feature finish 指令,只是将本地仓库切换到develop分支,并没有把修改同步到远程仓库的develop分支,所以必须要再执行git push 指令后,

git push origin develop

远程仓库才拥有这些修改内容,否则远程仓库的develop分支不会有任何修改

2.同一个项目中develop分支一般都会保存当前项目已经验收无误并相对稳定的功能,因此develop可能会被多人同时修改。每个人在把当时的功能完成后都会合并到develop分支中。因此我们本地仓库中的develop分支可能落后于远程仓库中的develop分支

所以为了避免还原某些文件,我们在同步之前需要首先把远程仓库develop分支中最新内容同步到本地

在拉取远程仓库develop分支到本地develop分支时有可能会有某些文件冲突,因此需要首先处理冲突,在处理冲突完成后,再将处理过后的内容"git commit -m"到本地仓库develop的缓存区,然后再使用git push origin develop同步到远程仓库的develop分支

以上则日常开发中git flow使用流程完毕。

PS:Git其他常用指令

git branch:

列出本地所有分支,当前所在分支以“*”标出: git branch

在本地创建新分支: git branch 分支名

删除指定的本地分支:git branch -d 分支名



git checkout:

切换到本地的指定分支:git checkout 分支名

创建并切换到本地指定分支:git checkout -b 分支名



git push: 

删除远程仓库的指定分支:git push 远程仓库别名 :远程分支名
                      git push 远程仓库别名 --delete 远程分支名

Git指令全集:Git命令大全 - 简书

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:57:14  更:2022-04-22 19:01:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 2:40:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码