GitVersion 开源项目教程
GitVersionFrom git log to SemVer in no time项目地址:https://gitcode.com/gh_mirrors/gi/GitVersion
1. 项目的目录结构及介绍
GitVersion 项目的目录结构如下:
GitVersion/
├── docs/
├── src/
│ ├── GitVersion.Core/
│ ├── GitVersion.CommandLine/
│ ├── GitVersion.MsBuild/
│ └── GitVersion.Tool/
├── tests/
│ ├── GitVersion.Core.Tests/
│ ├── GitVersion.IntegrationTests/
│ └── GitVersion.Tests/
├── .gitignore
├── .gitattributes
├── GitVersion.sln
├── LICENSE
├── README.md
└── ...
目录介绍:
- docs/: 包含项目的文档文件。
- src/: 包含项目的源代码,分为多个子项目:
- GitVersion.Core/: 核心功能实现。
- GitVersion.CommandLine/: 命令行工具。
- GitVersion.MsBuild/: MSBuild 任务。
- GitVersion.Tool/: 工具包。
- tests/: 包含项目的测试代码,分为多个测试子项目:
- GitVersion.Core.Tests/: 核心功能的测试。
- GitVersion.IntegrationTests/: 集成测试。
- GitVersion.Tests/: 其他测试。
- .gitignore: Git 忽略文件配置。
- .gitattributes: Git 属性配置。
- GitVersion.sln: 解决方案文件。
- LICENSE: 许可证文件。
- README.md: 项目介绍和使用说明。
2. 项目的启动文件介绍
GitVersion 的启动文件主要是命令行工具和 MSBuild 任务。
命令行工具
命令行工具的入口文件位于 src/GitVersion.CommandLine/Program.cs
。这个文件定义了命令行工具的启动逻辑和参数解析。
MSBuild 任务
MSBuild 任务的入口文件位于 src/GitVersion.MsBuild/GitVersionTask.cs
。这个文件定义了如何在 MSBuild 中集成 GitVersion 任务。
3. 项目的配置文件介绍
GitVersion 的配置文件是 GitVersion.yml
或 GitVersion.json
,用于定义版本号的生成规则和分支策略。
配置文件示例
mode: ContinuousDelivery
branches:
main:
increment: Minor
develop:
increment: Minor
feature:
increment: Minor
release:
increment: Patch
hotfix:
increment: Patch
配置文件介绍
- mode: 版本生成模式,如
ContinuousDelivery
。 - branches: 定义不同分支的版本号生成规则。
- main: 主分支的版本号生成规则。
- develop: 开发分支的版本号生成规则。
- feature: 功能分支的版本号生成规则。
- release: 发布分支的版本号生成规则。
- hotfix: 热修复分支的版本号生成规则。
通过配置文件,可以灵活地定义不同分支的版本号生成规则,以满足不同的版本管理需求。
GitVersionFrom git log to SemVer in no time项目地址:https://gitcode.com/gh_mirrors/gi/GitVersion