Autotag 项目使用教程
autotagGit repository version tagging tool项目地址:https://gitcode.com/gh_mirrors/au/autotag
1. 项目的目录结构及介绍
Autotag 项目的目录结构如下:
autotag/
├── cmd/
│ └── autotag/
│ └── main.go
├── internal/
│ ├── git/
│ │ └── git.go
│ ├── semver/
│ │ └── semver.go
│ └── util/
│ └── util.go
├── Makefile
├── README.md
├── go.mod
├── go.sum
└── .gitignore
目录结构介绍
- cmd/: 包含项目的入口文件,通常是
main.go
文件所在的位置。 - internal/: 包含项目的内部逻辑代码,通常不对外暴露。
- git/: 包含与 Git 相关的操作代码。
- semver/: 包含与语义化版本(SemVer)相关的操作代码。
- util/: 包含一些通用的工具函数。
- Makefile: 用于构建和测试项目的 Makefile 文件。
- README.md: 项目的说明文档。
- go.mod 和 go.sum: Go 模块的依赖管理文件。
- .gitignore: 用于指定 Git 忽略的文件和目录。
2. 项目的启动文件介绍
项目的启动文件位于 cmd/autotag/main.go
。该文件是整个项目的入口点,负责初始化项目并启动主要功能。
main.go
文件介绍
package main
import (
"fmt"
"os"
"github.com/pantheon-systems/autotag/internal/git"
"github.com/pantheon-systems/autotag/internal/semver"
)
func main() {
// 初始化 Git 和 SemVer 模块
gitRepo := git.NewGitRepo()
semverManager := semver.NewSemverManager()
// 获取当前 Git 仓库的状态
currentTag, err := gitRepo.GetCurrentTag()
if err != nil {
fmt.Println("Error getting current tag:", err)
os.Exit(1)
}
// 根据 Git 提交历史生成新的版本号
newTag := semverManager.IncrementVersion(currentTag)
// 创建新的 Git 标签
err = gitRepo.CreateTag(newTag)
if err != nil {
fmt.Println("Error creating new tag:", err)
os.Exit(1)
}
fmt.Println("New tag created:", newTag)
}
启动文件功能
- 初始化模块: 初始化 Git 和 SemVer 模块。
- 获取当前标签: 从 Git 仓库中获取当前的标签。
- 生成新版本号: 根据 Git 提交历史生成新的版本号。
- 创建新标签: 在 Git 仓库中创建新的标签。
3. 项目的配置文件介绍
Autotag 项目没有显式的配置文件,所有的配置都是通过命令行参数或环境变量来完成的。以下是一些常用的命令行参数:
常用命令行参数
-h
或--help
: 显示帮助信息。-m
: 指定新的标签名称。-n
: 仅打印新的标签名称,但不实际创建标签。-s
或--scheme
: 指定版本号生成方案(如SemVer
)。
示例
# 显示帮助信息
autotag -h
# 生成并创建新的标签
autotag -m "v1.2.3"
# 仅打印新的标签名称
autotag -n
# 指定版本号生成方案
autotag -s SemVer
通过这些命令行参数,用户可以灵活地配置和使用 Autotag 项目。
autotagGit repository version tagging tool项目地址:https://gitcode.com/gh_mirrors/au/autotag