首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结构用于使用私有git存储库时的go工作区。

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

Stack Overflow用户
提问于 2014-05-22 12:09:51
回答 3查看 2.5K关注 0票数 6

当您不使用github时,我一直试图找出go代码/工作区的标准文件夹布局/结构。

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

当使用您自己的git私有存储库时,您应该拥有什么样的布局和git get url?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-22 22:35:23

该包本身不包含对其存储位置的引用。你只有:

代码语言:javascript
复制
package mypackage

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

代码语言:javascript
复制
import "my/custom/path/mypackage"

然后您可以打开它的源代码,并将mypackage放到GitHub上。这将允许其他人使用go get命令获得它,但是他们将使用github.com导入:

代码语言:javascript
复制
import "github.com/myuser/mypackage"

除非您想要打开导入my/custom/path/mypackage.的源代码包,否则的工作非常好。在这种情况下,您应该考虑重新构造路径,以便使用与包的用户相同的github导入路径。

票数 6
EN

Stack Overflow用户

发布于 2014-05-22 13:58:07

来自go help importpath

对于托管在其他服务器上的代码,导入路径可以使用版本控制类型限定,或者go工具可以通过https/http动态获取导入路径,并从HTML中的标记中发现代码驻留的位置。 若要声明代码位置,窗体的导入路径 Recitory.vcs/path 使用命名版本控制系统指定给定的存储库(无论是否带有.vcs后缀),然后指定该存储库内的路径。支持的版本控制系统是: 巴扎尔.bzr Git .git Mercurial .hg Subversion .svn

然后我相信您可以使用GitLabGoGits设置您自己的git服务器,然后您的导入路径将成为您的服务器域。

但是,如果你有一个私人回购与github或bitbucket,您的软件包将成为可能。只要运行一个正常的"go get“,你就会被要求输入你的密码。

票数 3
EN

Stack Overflow用户

发布于 2014-05-24 15:28:57

对于未知的回购托管站点,go get首先获取HTTP/HTTPS url并检查它是否有一个元标记链接到git/hg/bzr。

“远程导入路径”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23806438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档