| |
|
开发:
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.克隆远程仓库:
注意: 1.当使用git clone指令后会自动在当前目录下自动以远程仓库链接中项目的名字来创建文件夹 如在当前目录“D:\Project\Unity”下鼠标右键选择“Git Bash Here”打开git窗口: ? 使用git clone指令后会自动根据远程仓库链接的项目名生成对应文件夹“testBranch”。 所以并不需要另外新建一个文件夹来放置远程仓库项目,避免嵌套 2.在clone指令完毕后, *** 会自动将本地仓库与远程仓库关联起来 *** 并且会根据远程仓库的默认分支自动在本地仓库中创建同名分支(Gitlab中默认分支是main)。 *** 如果后续需要,可以自由更改以上根据远程项目自动创建的同名文件夹的名字。 ? ? ?注意:更改文件夹名字并不会改变本地仓库与远程仓库的关联。 3.之后对该本地仓库和远程仓库的所有操作都需要先进入“testBranch”文件夹后再打开git窗口,不可在“testBranch”同级目录下操作。 PS: 查看本地仓库的关联状态:
将本地仓库与远程仓库关联起来:
注意: 1.设置远程仓库别名的作用只是在后续需要使用远程仓库链接时可以直接使用这个别名来代替,不用输入长串链接。 2.将本地仓库与远程仓库同名分支关联起来也可以使用:
2.同步远程仓库的内容到本地仓库:PS:在第一次使用git clone指令后会默认将远程项目最新内容clone到本地仓库,此时并不需要另外再同步。 同步远程仓库指定分支到本地仓库指定分支:
同步远程仓库指定分支到本地仓库当前分支:
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,可以自由设定
执行以上命令后会自动在本地仓库中创建"feature/分支名"分支: 注意: 1.git flow feature start 分支名,是在本地仓库中以develop为基础创建新分支,并不是以远程仓库中的develop分支为基础而创建,所以在开始feature分支开发时需要将本地的develop分支同步到最新状态。 2.创建的功能分支会自动添加feature前缀,所以以上得到的分支实际名字是:feature/分支名 5.在分支中提交文件到本地缓存区:首先添加指定文件追踪:
?注意: 1.这里的文件路径是相对路径,并且是项目根目录下的相对路径 如以下添加file01.txt文件时,则直接使用 "git add file01.txt"即可 PS:当需要提交根目录下所有文件时可以使用“git add .” —— 点号,即代表根目录下所有文件 2.使用 “git status” 查看文件提交状态: 然后,在把文件都添加完成后,则将这些修改过的文件提交到本地仓库缓存区:
注意:如果使用TortoiseGit,那么在执行完git commit -m "注释"后则所有文件都会变绿,即提交到本地仓库完成 6.将本地仓库缓存区的内容推送到远程仓库:将本地仓库当前分支推送到远程仓库指定分支:
将本地仓库当前分支推送到远程仓库中的同名分支:
注意: 1.当需要提交的文件较大时,有可能会提交失败,此时可以配置git缓存区大小:
2.执行git push origin 操作后,如果远程仓库中没有该分支,则自动在远程仓库中创建该分支;如果有,则将本地仓库当前分支的内容同步到远程仓库同名分支中。 7.关闭功能feature分支:在整个功能都实现,并验收确认无误后,则可以使用git flow关闭该分支:
注意: 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 指令后,
远程仓库才拥有这些修改内容,否则远程仓库的develop分支不会有任何修改 2.同一个项目中develop分支一般都会保存当前项目已经验收无误并相对稳定的功能,因此develop可能会被多人同时修改。每个人在把当时的功能完成后都会合并到develop分支中。因此我们本地仓库中的develop分支可能落后于远程仓库中的develop分支 所以为了避免还原某些文件,我们在同步之前需要首先把远程仓库develop分支中最新内容同步到本地 在拉取远程仓库develop分支到本地develop分支时有可能会有某些文件冲突,因此需要首先处理冲突,在处理冲突完成后,再将处理过后的内容"git commit -m"到本地仓库develop的缓存区,然后再使用git push origin develop同步到远程仓库的develop分支 以上则日常开发中git flow使用流程完毕。 PS:Git其他常用指令
Git指令全集:Git命令大全 - 简书 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/14 15:14:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |