发布自己的 Go 包,并将其公开在 GitHub 上,遵循版本规范,一般需要以下步骤:
1. 创建 GitHub 仓库
- 登录 GitHub,点击右上角的 “+” 号,选择 “New repository”。
- 填写仓库名称和描述,选择公开 (public) 仓库,点击 “Create repository”。
2. 初始化本地项目
-
在本地创建一个新的 Go 项目目录:
mkdir mypackage cd mypackage
-
初始化 Go 模块:
go mod init github.com/yourusername/mypackage
-
创建 Go 源码文件,例如
mypackage.go
:// mypackage.go package mypackage import "fmt" // Hello prints a greeting message func Hello() { fmt.Println("Hello, world!") }
-
创建 README 文件(可选,但推荐):
# mypackage This is mypackage, a simple Go package for demonstration. ## Installation ```sh go get github.com/yourusername/mypackage
Usage
package main import "github.com/yourusername/mypackage" func main() { mypackage.Hello() }
3. 提交代码到 GitHub
-
初始化 Git 仓库:
git init git add . git commit -m "Initial commit"
-
将本地仓库连接到 GitHub:
git remote add origin https://github.com/yourusername/mypackage.git git push -u origin master
4. 版本管理
Go 包的版本管理遵循语义化版本 (Semantic Versioning, SemVer) 规范。版本号格式为 vMAJOR.MINOR.PATCH
,例如 v1.0.0
。
- MAJOR 版本:包含不兼容的 API 变更。
- MINOR 版本:添加功能,且与之前版本兼容。
- PATCH 版本:进行向下兼容的问题修正。
5. 创建版本标签
-
在本地创建并推送标签,例如:
git tag v1.0.0 git push origin v1.0.0
-
在 GitHub 仓库的 “Releases” 页面,点击 “Draft a new release”,选择你刚创建的标签,填写发布说明,点击 “Publish release”。
6. 确保模块路径和版本兼容
-
确保模块路径正确匹配:
go mod tidy
-
检查
go.mod
文件中的模块路径是否与 GitHub 仓库匹配。例如,module github.com/yourusername/mypackage
。
示例
假设你发布的包在 github.com/yourusername/mypackage
下,并且创建了 v1.0.0
标签,用户可以通过以下命令安装并使用你的包:
go get github.com/yourusername/mypackage@v1.0.0
7. 更新包
当你对包进行更新时,修改代码并提交:
git commit -am "Add new feature"
创建新的版本标签并推送:
git tag v1.1.0
git push origin v1.1.0
发布新的版本到 GitHub Releases。
通过这些步骤,你可以轻松地在 GitHub 上发布并管理你的 Go 包,同时确保符合语义化版本规范。