Git学习-04

2024-10-01 18:44:21 浏览数 (1)

1.Git 分支模型

经典 Git-Flow

imgimg

两个常驻分支(master & develop),代码开发都在临时分支上进行。需要做好日常管理(如及时删除已合并的临时分支),否则容易导致混乱。

2.主要分支

  • master 主干分支,稳定版代码,生产环境版本代码 (prd 正式环境; Tag)
  • develop 主干分支,开发版代码,dev/qa 环境版本代码 (dev、qa 环境)
  • feature 功能开发分支 (dev 环境)
  • release 发布分支, 不允许直接修改代码 (uat 环境)
  • hotfix 修复分支 (qa、uat、prd 环境)

3.临时分支

1 版本功能分支(feature)

从 develop 分支创建,用于版本功能开发,完成后要合并回 develop 分支

2 个人特性分支(feature)

从 feature 分支创建,用于个人版本功能开发,完成后要合并回 feature 分支

3 稳定分支(release)

从 feature 功能分支创建,用于预发布环境进行测试及产品验证,完成后要合并回 develop 和 master 分支

4 修复分支(hotfix)

从 master 分支创建,用于预发布 / 生产环境上的 Bug 修复,完成后要合并回 develop 和 master 分支

4.分支清理

1 谁创建谁负责清理

2 临时分支在发布生产环境后清理

5.项目分支

1 新项目需从原工程 gitlab 上 fork, 不允许 checkout 新分支

6.命名规则

  • 创建版本功能分支,名称要以 feature/ 开头,加上产品迭代版本号;如:feature/1.1.3
  • 创建个人特性分支,名称要以 feature/ 开头,加上产品迭代版本号,加上个人标识;如:feature/1.1.3-yy
  • 创建发布分支,名称要以 release/ 开头,加上产品迭代版本号;如:release/1.1.3
  • 创建 Bug 修复分支,名称要以 hotfix/ 开头,加上已发布产品迭代版本号 (即上个版本号);如:release/1.1.2
  • 创建标签 Tag,名称要以 v 开头,加上发布版本号和日期;如:v1.1.3-2022-01-26

Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 创建,用于有效、高速地处理从小到大的项目版本管理。Git 是目前世界上最流行的版本控制系统之一,广泛应用于软件开发中。

以下是 Git 的一些核心概念和功能:

  1. 分布式版本控制:与集中式版本控制系统(如 SVN)不同,Git 允许每个开发者拥有完整的代码库副本,包括完整的历史记录。
  2. 分支(Branching):Git 支持快速创建和合并分支。分支是指向代码库中特定提交的可移动指针。
  3. 合并(Merging):合并是将两个或多个开发历史合并在一起的过程。
  4. 标签(Tagging):用于标记特定的提交,通常用于版本发布。
  5. 暂存区(Staging Area):也称为索引,是准备下一次提交的文件列表。
  6. 提交(Commit):保存项目历史和文件快照的记录。
  7. 远程仓库(Remote Repositories):可以是服务器上的仓库,用于与他人共享代码。
  8. 克隆(Cloning):从远程仓库复制代码库到本地。
  9. 拉取(Pull):从远程仓库拉取最新的代码并合并到本地。
  10. 推送(Push):将本地的提交推送到远程仓库。
  11. 拉取请求(Pull Requests):在分布式开发环境中,用于请求将你的更改合并到主分支。
  12. 分支策略:Git 支持多种分支策略,如 Git Flow、GitHub Flow 等。
  13. 钩子(Hooks):Git 允许在特定事件发生时执行脚本,如提交前、推送前等。
  14. 子模块(Submodules):允许将一个 Git 仓库作为另一个 Git 仓库的子目录。
  15. 工作流:Git 支持多种工作流,如集中式工作流、功能分支工作流等。

Git 的命令行工具非常强大,但同时也有图形用户界面(GUI)客户端,如 GitHub Desktop、SourceTree、GitKraken 等,使得非技术用户也能轻松使用 Git。

Git 通常与 GitHub、GitLab 或 Bitbucket 等在线托管服务一起使用,这些服务提供了额外的功能,如代码审查、持续集成/持续部署(CI/CD)、项目管理工具等。

0 人点赞