Godeps开发流程?

Godeps development flow?

总体上与 Godeps 有点混淆。假设我正在向中央存储库贡献 Go 代码,现在我需要提取代码并贡献我自己的代码更改。正确的 godep 流程是什么?

会不会是:

git pull  // pull latest master
godep restore // Install the package versions specified in Godeps/Godeps.json to $GOPATH
go get foo/bar  // Get package foo/bar and edit your code to import foo/bar
godep save ./...  // Saves dependencies
// Then, check into source control

一个选项:

git pull
godep restore
go get -u foo/bar // -u updates
go test ./...
go run main.go
godep save ./...

但是,我不喜欢在 git 的断开连接的 HEAD 状态下恢复到我的 GOPATH,因为我直接在我的 GOPATH 中为其他几个回购做出了贡献(并且在过去遇到过错误)。

所以我通常这样做:

git pull
go get -u foo/bar
godep update foo/bar
godep go test ./...
godep go run main.go

使用 godep 作为前缀更改与 go 相关的函数的 $GOPATH。

提示:为所有开发人员使用合理的默认值设置主可执行文件的所有 flags。这样他们就不需要为本地开发传递自定义参数。