go - 如何将Golang项目( 一组软件包) 放置到 Github?

  显示原文与译文双语对照的内容
0 0

我们还不清楚对我来说从Golang教程如何把Golang代码到GitHub能够将该代码作为稍后包从GitHub 。

这是一个示例项目工作区( 目录结构) 从Golang教程 http://golang .org/doc/code 。html

bin/
    hello              # command executable
pkg/
    linux_amd64/       # this will reflect your OS and architecture
        github.com/user/
            newmath.a  # package object
src/
    github.com/user/
        hello/
            hello.go   # command source
        newmath/
            sqrt.go    # package source

那么,我应该如何做,哪里需要 git init在此工作区中,以便稍后可以:

  1. 若仅导入 newmath包复制到我的一些单独的项目。 这种方式:

    import "github.com/user/newmath"
  2. 来只获取 hello.exe可执行。

  3. 把整个项目工作区( 所有目录: bin,pkg,src ) 。

时间:原作者:1个回答

0 0
  1. 为包 newmath已经过了相同( 2 )

    $ mdkir $GOPATH/src/github.com/user/newmath
    $ cd $GOPATH/src/github.com/user/newmath
    $ git init
    $ ... more git setup
    $ touch sqrt.go
    $ gvim sqrt.go
    $ git add sqrt.go
    $ git commit -a -m 'Inital commit'
    $ git push

    现在人可以做到

    $ go get github.com/user/newmath

    import "github.com/user/newmath"

    现在应该工作在自己的源。 包将自动按需安装。

  2. 我将假定 hello命令和 newmath包无关,或者没有足够紧密相关属于一个存储库。

    $ mdkir $GOPATH/src/github.com/user/hello
    $ cd $GOPATH/src/github.com/user/hello
    $ git init
    $ ... more git setup
    $ touch hello.go
    $ gvim hello.go
    $ git add hello.go
    $ git commit -a -m 'Inital commit'
    $ git push

    现在人可以做到

    $ go get github.com/user/hello
    $ go install github.com/user/hello

    要安装你的命令 hello.

    • 这让几乎任何你要发布的内容 $GOPATH/pkg在托管服务。
    • 这让一些意义上发布的内容 $GOPATH/bin在托管服务。 但我不建议这样做原因很明显 此外,如果要发布源二进制文件不是必须的,每个人都可以自己组装( 可信) 自己的。

你似乎也许还有点困惑术语'workspace'。 则经常现有工作空间只有一次是在开发者的机器,但它通常包含一些仓库。 一些作者为开发人员,有" 转getted " 从Internet 。 发布整个wokspace在本例中是毫无意义。

但是,有人使用单独的每个项目或每个存储库工作空间或甚至每个包。 我不知道之后会有哪些好处。 或更高版本,我想说,没有定义的单个工作区,相比线程,比如 export GOPATH=$HOME( 这里已经是我多年w/o任何麻烦了好几年) 。

原作者:
...