假设您有一个存储库,github.com/someone/repo并且您将其分叉到github.com/you/repo. 你想使用你的叉子而不是主仓库,所以你做了一个
github.com/someone/repo
github.com/you/repo
go get github.com/you/repo
现在这个 repo 中的所有导入路径都将被“破坏”,这意味着,如果存储库中有多个包通过绝对 URL 相互引用,它们将引用源,而不是分支。
有没有更好的方法将其手动克隆到正确的路径中?
git clone git@github.com:you/repo.git $GOPATH/src/github.com/someone/repo
如果您使用的是go modules。你可以使用replace指令
replace
该replace指令允许您提供另一个导入路径,该路径可能是位于 VCS(GitHub 或其他地方)或具有相对或绝对文件路径的本地文件系统中的另一个模块。使用来自replace指令的新导入路径,无需更新实际源代码中的导入路径。
所以你可以在 go.mod 文件中执行以下操作
module github.com/yogeshlonkar/openapi-to-postman go 1.12 require ( github.com/someone/repo v1.20.0 ) replace github.com/someone/repo => github.com/you/repo v3.2.1
v3.2.1你的 repo 上的标签在哪里。也可以通过 CLI 完成
v3.2.1
go mod edit -replace="github.com/someone/repo@v0.0.0=github.com/you/repo@v1.1.1"