使用私有git存储库时go工作区的结构

Jac*_*cob 6 go

当你不使用github时,我一直试图弄清楚代码/工作区的标准文件夹布局/结构.

我可以看到go get获取github项目时是如何 工作的,但假设我自己的git项目没有{github.com}/{username}/{projectname}引用的结构go get以及如何在磁盘上构建go get

git get使用自己的git私有存储库时应该有什么布局和URL?

ANi*_*sus 6

包本身不包含存储位置的参考.你只有:

package mypackage
Run Code Online (Sandbox Code Playgroud)

因此,您可以将自己的本地版本放在自己的结构中,正如Volker在评论中指出的那样.这是您在自己的项目中使用的导入路径:

import "my/custom/path/mypackage"
Run Code Online (Sandbox Code Playgroud)

然后你可以打开它并放到mypackageGitHub上.这将允许其他人使用该go get命令获取它,但他们将使用github.com导入:

import "github.com/myuser/mypackage"
Run Code Online (Sandbox Code Playgroud)

除非你想要开源的开源包,否则my/custom/path/mypackage这种方法非常好.在这种情况下,您应该考虑重构路径,以便使用与程序包用户相同的github导入路径.