网站首页 > 技术文章 正文
在项目的开发过程中,很多时候都会使用Git托管工具进行项目文件或者代码的管理,方便团队成员之间的协作开发。使用Git进行项目管理目前也是越来越受到欢迎,除了Git还有很多的其他项目管理,其目的都是为了能够方便项目管理、团队协作开发、提高项目开发的效率。
很多时候一个项目建立之后,一般都会有多个人参与开发,这就会涉及到怎么更加有效的进行协作开发。Git针对这个问题就提供了分支管理的方式。
分支管理指的是从当前主分支(master)中创建分支(branch),然后每个人负责在自己的分支上进行开发、提交,最后所有功能都开发完成之后,再合并到主分支(master)上。
分支管理的大概思路可以用一张图来表示:
从图中我们可以看到,在一个主分支上是可以创建多个分支的(如:brach1、brach2、... ),由主分支创建的分支上也可以再创建新的分支,最后都可以合并到主分支上。
分支的创建和管理可以参照下面的步骤进行。
1、 创建分支
1.1、从命令行上创建分支
从命令行上创建分支使用如下指令:
git branch (分支名字)
git checkout -b (分支名字) //创建新分支并立即切换到该分支下
注意:创建分支时一定要指定主分支,明确是在那个主干上开始创建分支的。
1.2、从可视化工具上创建分支
创建分支除了可以使用命令行进行创建,也可以使用可视化工具进行分支的创建,比如github、gitea等之类。我下面使用gitea进行演示怎么进行分支的创建,如下:
如上图,当前的项目所在的分支是主分支(master),我就要在主分支上创建一个分支,是属于主分支(master)的分支。
(1) 在项目所在的仓库上,点击分支,如下:
(2) 选择需要创建分支的主干,我这里是选择主分支(master),如下:
(3) 选择创建新分支之后,输入新分支的名称,如下:
(4) 分支创建成功之后就可以查询到新建立的分支,如下:
还可以从仓库首页上看到,并可以选择,如下:
2、 更新本地仓库
新创建了分支之后,如果有本地仓库的话,需要从远程仓库上更新信息到本地仓库,才能从本地仓库上查询到新的分支信息。
使用下面的指令:
git fetch // 从远程仓库获取最新的更新内容(即本地没有的数据)。
git merge // 将远程仓库上的所有更新内容(假设已经被推送到服务器了)合并到你的当前分支。
3、 查询本地仓库的分支信息
查询本地仓库的分支信息可以使用如下的命令行指令,如下:
git branch // 没有参数时,git branch 会列出你在本地的分支。
查询信息如下:
上图中,当前所在的本地仓库是主分支(master),共有一个分支(LCM_V2.0)。
注意:如果是新建的分支,本地仓库需要更新远程仓库的信息才能看见新建的分支信息。如下:
4、 切换分支
新建了分支之后,想要切换分支的话,可以使用如下指令:
git checkout (分支名称)
git checkout -b (分支名称) //如果该分支不存在的话,会创建新分支并立即切换到该分支下
5、 合并分支
如果想要合并分支的话,可以使用如下的指令:
git merge [分支名] // 可以多次合并到统一分支, 也可以选择在合并之后直接删除被并入的分支
6、 删除分支
如果一个分支合并完成,以后不打算再使用的话,可以删除掉。删除分支可以按下面的步骤操作:
比如:我所在的分支为 branch1 分支上,想删除 branch1 分支
1、先切换到别的分支: git checkout branch2
2、删除分支: git branch -d branch1
若是删除不了能够强制删除,git branch -D branch1
3、如果要删除远程分支,则:git push origin --delete branch1
4、在从公用的仓库fetch代码:git fetch origin branch1:branch1
分支的基本操作到此基本介绍完了,如果想要了解更多的Git操作指令,可以参看文章:
Git 使用 —Git基本指令的使用_嵌入式之入坑笔记的博客-CSDN博客_git命令基本用法
作者简介:
本人95后技术男,从事嵌入式软件开发,专注于技术成长和技术分享。目标是每天进一步一点点,通过技术改变自己的生活,创造自己的美好未来!如果你也对嵌入式感兴趣,欢迎关注我呀!
声明:
本文作者:嵌入式之入坑笔记
文章版权归作者所有,转载请注明出处!
- 上一篇: 产品开发中的一种Git分支工作方法
- 下一篇: 大白话 git 教程-12-多人协作开发和 PR 模型
猜你喜欢
- 2024-10-27 git 入门教程之紧急修复(git checkout . 恢复)
- 2024-10-27 项目版本管理的最佳实践:飞流Flow篇
- 2024-10-27 DevOps(4)之分支模型(ps4如何构建画布)
- 2024-10-27 Git 在团队中的最佳实践——如何正确使用Git Flow
- 2024-10-27 鹅厂程序员干货分享 | 四种工作流,教你如何使用 GitHub
- 2024-10-27 Linux下git和github搭建使用教程(linux搭建git仓库)
- 2024-10-27 git这个小技巧非常实用,值得每个程序员学习
- 2024-10-27 Git实战002:Git快速入门使用详解(git简单教程)
- 2024-10-27 git 多人在同一分支上迭代开发时,如何保证分支提交历史保持线性
- 2024-10-27 Git基础知识(七)--分支开发工作流
- 11-26Win7\8\10下一条cmd命令可查得笔记本电脑连接过的Wifi密码
- 11-26一文搞懂MySQL行锁、表锁、间隙锁详解
- 11-26电脑的wifi密码忘记了?一招教你如何找回密码,简单明了,快收藏
- 11-26代码解决忘记密码问题 教你用CMD命令查看所有连接过的WIFI密码
- 11-26CMD命令提示符能干嘛?这些功能你都知道吗?
- 11-26性能测试之慢sql分析
- 11-26论渗透信息收集的重要性
- 11-26如何查看电脑连接过的所有WiFi密码
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)