【发布时间】:2017-01-06 00:55:16
【问题描述】:
我现在正在学习 Golang,而且还是个新手。我有一个关于包裹的问题。
考虑以下场景:
假设我有一个包github.com/ilatif/A,我正在其中导入另一个包github.com/ilatif/B,例如:
import "github.com/ilatif/B"
现在github.com/ilatif/A 和github.com/ilatif/B 都是我的包,我在本地处理它们,有没有办法从github.com/ilatif/B 包中提取更改而不将代码推送到GitHub?根据 Golang 的文档,我需要将代码推送到其相关的仓库,但我想知道是否有这样一种方法可以在不先将其推送到上游的情况下提取我自己的包的本地更改。
谢谢
【问题讨论】:
-
你不需要推或拉任何东西,它们只是你的 GOPATH 中的文件。
-
那为什么我的本地更改没有更新?我的 $GOPATH 可能有一些问题?我正在使用 gvm。
-
如果它们没有被更新,那么你没有在你的 GOPATH 中编辑版本。直接使用 go 工具(没有 gvm)可能更容易理解它们是如何工作的。如果您还没有,请从这里开始:How to Write Go Code
-
感谢您的评论。顺便说一句,安装在供应商文件夹中的包总是优先于我对包的更改。我很困惑。
-
是的,
vendor/优先于 GOPATH。这就是为什么我建议只使用 go 工具从基础开始,并在您发现需要时添加其他功能。如果您需要使用供应商目录,则需要更新其中的代码,通常使用 3rd 方工具来执行此操作。