我有一个源代码托管在GitHub上的程序,该程序使用go 1.11中引入的Go模块。
go.mod
文件描述了我的依赖性,但是go.sum
文件似乎是一个锁定文件。我应该将go.sum
添加到我的存储库中还是应该对其进行gitignore?
答案 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。