Git 处理多语言存储库(包括Go代码)

Git 处理多语言存储库(包括Go代码),git,go,Git,Go,我目前打算维护一个Git存储库,其中包含用不同语言编写的多个服务。到目前为止没有问题——最近我发现了Go,并且很喜欢它——所以我决定在Go中创建一个新服务,并将它放在同一个存储库中 src/ | pythonService/ > main.py | golangService/ | localGoPackage/ > someLib.go > main.go > go.mod > go.su

我目前打算维护一个Git存储库,其中包含用不同语言编写的多个服务。到目前为止没有问题——最近我发现了Go,并且很喜欢它——所以我决定在Go中创建一个新服务,并将它放在同一个存储库中

src/
   | pythonService/
     > main.py
   | golangService/
     | localGoPackage/
       > someLib.go
     > main.go
     > go.mod
     > go.sum
   | csharpService/
     > some.cs
到目前为止,我的工作流程是将存储库克隆到
~/repos/
,并将使用Go to GOPATH编写的服务复制到GOPATH。当对代码进行更改时,我只是将更改的文件复制回存储库并提交更改。我真希望有更好的方法来处理这件事


然后我听说了围棋模块,听起来好像他们能一劳永逸地解决这个问题。但是,当使用GoModules时,我无法再引用goService中的本地包


您的网站有任何关于如何实现这一目标的建议吗?

“我无法参考本地软件包。”是什么阻止了您?现在,模块必须由单个包组成。您应该详细说明“不能引用本地包”。也就是说,构建代码(包括所有的
cd
s和对
go build
/
go install
)的调用)的具体步骤是什么,如何在出现精确错误消息的情况下失败,以及代码的相关部分与受影响文件的导入部分的外观是最令人感兴趣的。“我无法引用本地包。”什么阻止了你?现在模块必须由单个包组成。你应该详细说明“…无法引用本地包”。也就是说,你到底在做什么来构建你的代码(包括所有
cd
和调用
go build
/
go install
)最令人感兴趣的是,这种方法如何在出现精确错误消息时失败,以及代码的相关部分如何与受影响文件的导入部分相似。