Godep 恢复不使用保存在 _workspace 中的代码

Godep restore doesn't use the code saved in _workspace

我刚开始使用godep,但我觉得我没能理解原理,我可能完全使用不正确。

我认为 godep 维护 _workspace 以便在某些 revisions/projects 被删除或变得不可用时拥有包的本地副本。但是 godep restore 似乎根本没有使用 _workspace

另外,第二次调用godep save没有更新_workspace,只有Godeps.json.

我错过了什么?


更新:

为了解释我的问题,我将 Godeps.json 中的一个修订更改为无效修订“1”和 运行 godep restore。这是我得到的错误:

$GOPATH/bin/godep restore
# cd /home/iliga/gopath/src/github.com/jinzhu/gorm; git pull --ff-only
From https://github.com/jinzhu/gorm 
a97a508..087b708  master     -> origin/master
You are not currently on a branch. Please specify which
branch you want to merge with. See git-pull(1) for details.

git pull <remote> <branch>

# cd /home/iliga/gopath/src/github.com/jinzhu/gorm; git checkout 1
error: pathspec '1' did not match any file(s) known to git.
godep: restore: exit status 1

如上所述,我希望没有错误,godep 只需从 _workspace 复制代码即可。

"godep restore" 不使用 _workspace。它显示 Godeps.json 并检查您对 GOPATH 的依赖关系。

要使用 _workspace,您 运行 go 命令以 godep 为前缀,例如 "godep go build"、"godep go test".