git - go module 如何只下载存储库子目录中的包?

标签 git go go-modules

我创建了一个名为 A 的模块并将其推送到我公司的私有(private)仓库。

repo 的地址是 xxx.com/inf/client.git 并且 A 模块是一个子目录,所以 A 模块被命名为 xxx.com/inf/client.git/A

当我使用模块时,我将它导入到我的代码中

import (
    "xxx.com/inf/client.git/A"
)
func main() {
    A.XXX()
}

当我使用 go build 构建代码时,go module 可以找到模块 A 并开始下载。但问题是有这么多与A相同级别的子目录,它们都会被下载,这是我没想到的。

有人可以帮忙吗?我只想下载 xxx.com/inf/client.git/A 而不下载 xxx.com/inf/client.git/B(C,D...) 因为它们根本没有被使用。

最佳答案

不,这不受支持。

如果由于某种原因您真的不想下载该模块中的其他代码,请在单独的 repo 中创建一个单独的模块。

由于这个原因,几乎没有任何理由创建一个单独的模块。它所做的只是节省了几 kb 的磁盘空间,而且磁盘很便宜——通常比开发人员处理更多存储库/模块所需的时间便宜得多。

关于git - go module 如何只下载存储库子目录中的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60665596/

相关文章:

go - 不能在非本地类型模型上定义新方法。Meter

go - 我可以在一个 go 模块中包含多个包吗?如何?

java - 用测试数据填充 XML 文件

ruby-on-rails-3 - Heroku,就像一个 git 仓库?

git - 如何通过 GIT 使用 SuiteCRM

go - 1 << 64 - 1 是如何工作的?

go - 在 golang 中从 stdin 读取输入

windows - 错误 : waitpid for fetch-pack failed: No child processes

go - Golang 中的 "less than followed by dash"(<-) 运算符是什么?

go - 如何检测 Go 项目管道中已弃用的直接依赖项