在Go项目中哪里初始化git

As a complete beginner to Go I'm not sure where to init Git.

The docs here https://golang.org/doc/code.html appear to suggest outside the hello directory early on and then later tell me to run git init inside the hello directory.

Any advice on this would be useful.

The example is clear:

$ cd $GOPATH/src/github.com/user/hello
$ git init

You do initialize the repo within your project 'hello'.
That way:

  • you can push it to your GitHub repo (that you need to create first on GitHub, empty):

    git remote add origin https://<user>@github.com/<user>/hello
    git push -u origin master
    
  • your go project is "go gettable"

    go get github.com/<user>/hello
    # that would clone and compile the project in `$GOPATH/src/github.com/<user>/hello`.
    

The .git you see outside hello (on the same page) is for another project:

src/
    github.com/golang/example/
        .git/                      # Git repository metadata
    hello/
        hello.go               # command source

Here, the project is 'example' and include several packages, including the hello one.

You'd want to initialize it at the same level as it would have been if you'd run go get github.com/user/hello - i.e. in the hello directory.

Basically, if you initialize git, push your repo up an go get again, nothing should change.