Avatar ·

是否需要将 go.sum 文件提交到 Git 仓库?

你好!我开始学习 Go,并从使用 GOPATH 切换到 Go Modules。我有一个项目,使用了几个外部依赖。我通过 `go mod init` 初始化了模块,并通过 `go get` 添加了依赖。结果生成了两个文件:`go.mod` 和 `go.sum`。 我理解需要提交 `go.mod`——它就像 `package.json` 或 `requirements.txt`。但 `go.sum` 就没那么明确了。我看到这是一个包含哈希值的大文件,而且经常变化。例如,目前我的项目中有依赖 `github.com/gin-gonic/gin v1.9.1`,`go.sum` 包含了这个库和其他库的几十行哈希值。 我的团队领导说需要提交 `go.sum`,以确保构建的可重复性。但我读到一些开发者不提交它,因为它很大,而且可以重新生成。此外,在一些 CI/CD 流水线中,我看到他们运行 `go mod download` 就能正常工作。 请问,正确的做法是什么?