应该将go.sum文件签入git存储库吗?

时间:2018-12-18 17:06:17

标签: go

我有一个源代码托管在GitHub上的程序,该程序使用go 1.11中引入的Go模块。

go.mod文件描述了我的依赖性,但是go.sum文件似乎是一个锁定文件。我应该将go.sum添加到我的存储库中还是应该对其进行gitignore?

2 个答案:

答案 0 :(得分:5)

https://github.com/golang/go/wiki/Modules#releasing-modules-all-versions

  

确保go.sum文件与go.mod文件一起提交。

答案 1 :(得分:1)

(以previous answer为基础。)

是的,提交redirectError(INHERIT)

确保将go.sum文件与go.sum文件一起提交。有关更多详细信息和原理,请参见下面的常见问题解答。

来自FAQ

我应该提交我的“ go.sum”文件还是我的“ go.mod”文件吗?

通常,您的模块的go.mod文件应与 您的go.sum文件。

  • go.mod包含特定模块版本的内容的预期密码校验和。
  • 如果有人克隆您的存储库并使用go命令下载您的依赖项,则如果存在任何错误,他们将收到错误消息 他们下载的依赖项副本与 go.sum中的相应条目。
  • 此外,go.sum检查磁盘下载的模块下载的高速缓存副本是否仍与go mod verify中的条目匹配。
  • 请注意,go.sum不是某些备用依赖项管理系统中使用的锁定文件。 (go.sum提供了足够的信息 用于可复制的版本。
  • 请参阅非常简短的rationale here 菲利波·瓦尔索达(Filippo Valsorda),为什么您要签入go.mod。见 "Module downloading and verification" 提示文档的“部分”以获取更多详细信息。看到可能的未来 扩展,例如 #24117#25530