我在理解创建具有本地程序包的go项目的工作流程时遇到了麻烦。
假设我创建了一个新项目,使用git进行版本控制,它有一个main.go文件和一个tools.go文件,这些文件将在utils包中。所以我有一个这样的目录结构:
/myproject/
main.go
utils/
tools.go
main.go看起来像这样:
package main
import "./utils"
func main() {
utils.DoSomthing()
}
和tools.go看起来像这样:
package utils;
func DoSomething() {
}
使用go build和go run在本地一切正常。但这是托管在github上的,我希望能够让其他人使用go get命令来安装它。因此,必须将本地程序包导入更改为使用“ github.com/user/project/utils”格式,该格式可以正常工作,但现在我有两个源代码副本,真正的问题是该副本带有git历史记录具有使用下载的副本的导入。因此,如果我使用git历史记录来处理副本,则对tools.go所做的任何更改都不会引起注意,因为它将使用下载的副本。
所以我想知道是否有人可以解释在同一项目中使用go get,版本控制和包导入的正确方法。
慕姐8265434
相关分类