前言
Git 的分支是指将代码库从某一个特定的提交记录开始的一个独立的开发线,也可以理解为是一种代码开发的并行方式。分支在 Git 中的使用非常广泛,它可以让多人在同一个代码库中并行开发,同时也能够很方便地进行代码版本控制和管理。
Git 分支的特点:
1. 分支可以在一定程度上保证代码的稳定性和可靠性。通过在一个独立的分支上进行代码开发,可以避免对主分支的影响。
2. 分支可以非常方便地进行合并和切换。Git 提供了非常好用的合并和切换命令,可以让开发者轻松地在不同的分支之间进行切换和合并操作。
3. Git 的分支操作非常快速和高效。Git 的分支操作都是基于快照的,而不是复制原有的代码,所以不会占用过多的磁盘空间和系统资源。
4. 分支可以为 Git 提供更好的代码管理和版本控制。使用分支可以让开发者在不同的代码库之间进行版本控制,方便代码的追溯和管理。
在 Git 中,分支的使用非常广泛,是 Git 管理代码的重要工具之一。开发者可以根据不同的需求,自由地创建、合并、删除和切换不同的分支。通过合理使用分支,可以提高代码质量和开发效率。
Git的四个环境:
-
开发环境(Development Environment):
- 目的: 主要用于开发新功能或修改现有功能。这是开发人员工作的地方,他们可以进行代码编写、调试和单元测试。
- 特点: 可能会使用模拟的服务或虚拟化环境,以便更容易调试和测试代码。开发环境的代码通常是最新的,并可能包含一些实验性质的功能。
-
测试环境(Testing Environment):
- 目的: 用于进行各种测试,包括单元测试、集成测试、系统测试等。在测试环境中,团队可以模拟生产环境并检查系统在不同条件下的表现。
- 特点: 与开发环境相比,测试环境更接近真实的生产环境设置。数据库和其他服务可能与生产环境相同,但通常不包含真实用户的数据。
-
灰度环境(Staging or Pre-Production Environment):
- 目的: 用于模拟真实的生产环境,并在生产环境之前进行最终测试。在灰度环境中,团队可以测试部署流程、性能、可伸缩性等方面的问题。
- 特点: 与测试环境相比,灰度环境更接近生产环境,但通常不对外提供服务。这个环境用于评估系统的整体性能和稳定性,以确保在生产环境中没有潜在问题。
-
生产环境(Production Environment):
- 目的: 生产环境是最终用户访问应用程序的地方。在这里,系统必须保持高可用性、性能和安全性。
- 特点: 生产环境是最重要的环境,部署到这里的代码必须经过全面的测试。任何更改都应该经过严格的版本控制和部署流程,以确保不会引入错误或破坏现有功能。
在这些环境之间,Git通常用于版本控制。开发人员在开发环境中进行工作并使用Git进行代码管理。然后,代码被推送到测试环境,接着是灰度环境,最终到生产环境。这种流程有助于确保在生产环境中发布的代码是经过充分测试和验证的。同时,使用分支、标签等Git功能有助于管理不同环境的代码状态
一.分支的场景应用
1.命令
查看分支:git branch
创建分支:git branch 分支名
删除分支:git branch -d 分支名
切换到指定分支:git checkout 分支名
创建并切换分支:git checkout -b 分支名
2.模拟场景
模拟不同模块要提交到不同分支中,例如:开发人员将已开发好的模块提交推送到测试分支中,未开发好的模块提交推送到开发分支中
原理:模拟将不同文件提交到不同分支,在不同分支中进行再进行推送到远程仓库中
(1)模拟模块
在目录中保存几个java文件模拟开发模块
(2)模拟操作
1.将模块1-4暂存到开发环境中(模拟未开发完成的模块)
当我们点击提交后,当前模块就会到当前的分支下,我们在切换分支时就看不到其他分支的模块了
2.将模块5-8暂存到测试环境中(模拟已开发完成的模块)
3.模块9-10不做操作进行对比暂存推送前后的模块
将所有分支模块推送到远程分支中,先切换到要推送到的分支然后执行以下命令
命令:git push origin 分支名
注意:如果仓库中没有当前分支会自动创建分支
二.标签的应用
1.简介
Git的标签可以用来标记特定的提交,比如版本发布等。标签可以是轻量级标签或带注释标签。
轻量级标签只是一个指向特定提交的引用,类似于分支,但是不会随着提交的变化而移动
2.命令
Git的标签可以用来标记特定的提交,比如版本发布等。标签可以是轻量级标签或带注释标签。
轻量级标签只是一个指向特定提交的引用,类似于分支,但是不会随着提交的变化而移动。可以使用以下命令创建轻量级标签:
git tag 标签名.alpha
带注释标签可以包含注释信息,如版本号、发布日期和说明。可以使用以下命令创建带注释标签:
git tag v1.0.0.0.2023.11.11.alpha
查询所有标签:
git tag
删除标签使用以下命令:
git tag -d 标签名.alpha
将标签推送到远程仓库使用以下命令:
git push origin 标签名
删除远程仓库的标签需要使用以下命令:
注:在删除远程仓库标签时先将本地标签进行删除
git push origin :refs/tags/标签名
在实际应用中,标签充当着版本控制的角色,可以用来标记某个版本的代码,便于回溯和比较不同版本的差异,用来标记修复某个Bug的代码,方便查找和回溯。以及标记某个团队成员提交的代码,方便团队成员之间协作和沟通,通过持续集成测试的可行版本,方便后续版本的迭代和开发