在Ubuntu上进行Golang版本控制,可通过以下方式管理代码版本和Go工具链版本:
一、代码版本控制(Git)
- 安装Git
sudo apt update && sudo apt install git - 初始化仓库
cd /path/to/project git init git add . git commit -m "Initial commit" - 关联远程仓库
git remote add origin https://github.com/yourname/repo.git git push -u origin main - 分支管理
git branch feature-xxx # 创建分支 git checkout feature-xxx # 切换分支 git merge feature-xxx # 合并分支 - 标签发布
git tag -a v1.0.0 -m "Release version 1.0.0" git push origin v1.0.0参考来源:
二、Go工具链版本管理
1. 使用GVM(推荐)
GVM可方便切换不同Go版本,支持多版本共存。
- 安装GVM
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) source ~/.gvm/scripts/gvm - 安装/切换版本
gvm install go1.25.0 # 安装指定版本 gvm use go1.25.0 --default # 切换并设为默认 go version # 验证版本参考来源:
2. 使用Docker
通过Docker容器快速切换Go版本,无需污染主机环境。
docker run -it --rm golang:1.25.0 bash # 运行指定版本Go
参考来源:
3. 手动安装多版本
- 下载不同版本Go(如
go1.25.0.linux-amd64.tar.gz),解压到不同目录(如/usr/local/go1.25)。 - 通过修改
PATH环境变量切换版本:export PATH=/usr/local/go1.25/bin:$PATH go version参考来源:
三、依赖版本控制(Go Modules)
Go Modules用于管理项目依赖的版本,需配合Git使用。
- 初始化模块
go mod init github.com/yourname/repo - 添加依赖
go get github.com/pkg/errors@v1.1.0 # 指定版本 go mod tidy # 自动整理依赖 - 提交依赖文件
将go.mod和go.sum纳入Git版本控制:git add go.mod go.sum git commit -m "Update dependencies"
参考来源:
总结
- 代码版本:用Git管理,支持分支、标签等操作。
- Go工具链版本:优先用GVM切换,或通过Docker、手动安装管理。
- 依赖版本:通过Go Modules记录,提交到Git仓库。
以上方法可组合使用,满足不同场景下的版本控制需求。