我'我正在学习现在的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的文档,我需要将代码推送到相关的repo,但我想知道是否有这样的方法来拉取我自己的包的本地更改而不首先将其推送到上游。
由于
答案 0 :(得分:5)
我可以通过在文件go.mod
中使用replace来将Golang与模块一起成功使用。
https://thewebivore.com/using-replace-in-go-mod-to-point-to-your-local-module/
go.mod
语句保存replace
文件后,Goland就会识别出更新的模块。replace MODULE_URL => /PATH/TO/MODULE/DIR
module github.x.com/services-x/x
go 1.13
require (
github.com/briandowns/spinner v1.8.0
github.com/golang/protobuf v1.3.1
github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8
github.com/marcellodesales/cloner v0.0.0-20191126082454-c952bef1e067
github.com/mitchellh/go-homedir v1.1.0
github.com/mitchellh/mapstructure v1.1.2
github.com/sirupsen/logrus v1.2.0
github.com/spf13/cobra v0.0.5
github.com/spf13/viper v1.4.0
github.com/thoas/go-funk v0.4.0
gopkg.in/src-d/go-git.v4 v4.13.1
gopkg.in/yaml.v2 v2.2.2
)
replace github.com/marcellodesales/cloner => /Users/mdesales/dev/github.com/marcellodesales/cloner