2015-12-21 94 views
2

我刚刚开始使用Go。我在我的大部分开发中都使用了subversion,但Go教程似乎假设所有东西都托管在Github上的公共存储库或(付费)私有存储库中。它看起来像我不得不之间做出选择:承诺有机会获得我写的一切大家Go开发是否需要一个付费的Github账户进行私人开发?

  1. 花费每月$ 7私人Github上库,
  2. 没有使用源代码控制或
  3. 失去使用Go的get /导入工具的能力,正确

我失去了一些东西在这里,还是这是真的吗?

+2

Bitbucket有免费的私人回购。 – alex

+2

这是在StackOverflow,IMO的offtopic。 – bahrep

+0

这是一个关于如何在Go中进行开发的问题。我一直认为这与SO直接相关。 –

回答

8

go get支持大多数git的,反复无常, 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等。如果您希望在将来移动,您可以避免与单个平台绑定,这很有用。

3

“去找” 和 “进口” 的语句都支持several remote repositories,其中包括:

  • 到位桶(GIT,水银)
  • 的GitHub(GIT)
  • 的Launchpad(集市)
  • IBM DevOps的服务(GIT)

以及语法的代码托管在其他服务器:

对于代码托管在其他服务器,导入路径既可以合格 与版本控制型,或旅途中的工具可以动态地获取 通过https/HTTP的导入路径,并发现其中的代码从一个<驻留 在HTML中的meta >标记。

要声明的代码的位置,形式

repository.vcs /路径指定给定的存储库中,有或没有 的.vcs后缀的导入路径,使用命名的版本控制系统,然后将 该存储库中的路径。支持的版本控制系统 是:

  • 集市.bzr
  • 的Git git的
  • 水银.hg
  • 颠覆的.svn
+0

在我提交它的瞬间,我的回答是如何得到低估的? –

+0

这并不直接相关,但许多指向GitHub的导入路径经常让新手认为GitHub是唯一的选择。 – elithrar

+3

请注意,我们正在谈论的是'去',而不是一般的发展。 'go get'是一个用于从互联网获取软件包的方便工具,但'go build'不关心github等,当看到'import'github.com/some/pkg“'时,它将它视为_path_在文件系统中进行查找(相对于项目中的$ GOPATH/src或vendor目录)。 – tomasz

3

您无需在Github上自己使用Github上的其他可用回购站。 Bitbucket提供无限的私人存储库。你甚至可以选择一个完全本地的git仓库(不使用任何git托管服务),并且仍然使用Github上可用的仓库。

相关问题