我刚开始使用Go。我在开发的大部分时间里使用了subversion,但Go教程似乎假设所有内容都在Github上托管在公共存储库或(付费)私有存储库中。看起来我不得不在:
之间做出选择我在这里遗漏了什么,或者情况确实如此?
答案 0 :(得分:8)
go get
支持大多数git,mercurial,bazaar& svn repos,所以你自己的Git服务器,Bitbucket,GitLab等都可以接受。这里的文档中提到了这一点:https://golang.org/doc/code.html#PackagePaths
同样,您只需创建一个$GOPATH/src/yourname/yourpkg
目录,但您将很难与其他人共享代码。
此外,您可以使用remote import paths(也称为“虚荣域”)来允许go get scott.com/pkg/usefulthing
,而不是直接指向GitHub等。有用的,因为您可以避免被绑定到单个平台,你希望将来搬家。
答案 1 :(得分:3)
“go get”和“import”语句都支持several remote repositories,包括:
以及托管在其他服务器上的代码的语法:
对于托管在其他服务器上的代码,导入路径可以是合格的 使用版本控制类型,或go工具可以动态获取 https / http上的导入路径,并发现代码所在的位置 来自< meta> HTML中的标记。
声明代码位置,表单的导入路径
repository.vcs / path指定给定的存储库,有或没有 .vcs后缀,使用指定的版本控制系统,然后使用 该存储库中的路径。支持的版本控制系统 是:
- Bazaar .bzr
- Git .git
- Mercurial .hg
- Subversion .svn
答案 2 :(得分:3)
您不需要在Github 上自己在Github上使用其他可用的回购。 Bitbucket提供无限的私人存储库。你甚至可以选择拥有一个完全本地的git存储库(不使用任何git托管服务),并且仍然可以在Github上使用repos。