登录
首页 >  Golang >  Go问答

go get -u 对于包含 go1 分支的包失败

来源:stackoverflow

时间:2024-04-09 21:09:34 438浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《go get -u 对于包含 go1 分支的包失败》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

我正在分发一个 go 软件包,该软件包需要大量生成的文件,我不想将这些文件包含在 git 存储库的 master 分支中。我希望人们能够使用 go get 安装我的软件。由于 go get 不运行 gogenerate,我的解决方案是将所有生成的文件粘贴到 go1 分支中,该分支是 master 之外的一次提交,但也包含所有生成的文件。我还可以向 go1 分支添加第二个假父提交,这样无论人们获取 go1,它总是快进合并。我不在乎 go1 分支变得多么丑陋,只要 master 保持原始状态即可。

这个技术第一次就很有效。不幸的是,每次后续调用 go get -u 都会失败,即使 go1 分支根本没有更改,因为 go get 会将签出的存储库留在分离的 HEAD 状态,而不是在 go1 分支上。我可以通过手动深入到我的 gopath 运行 git checkout go1 来修复此问题,这将创建一个本地 go1 分支跟踪 origin/go1,但这非常烦人,必须指导其他人这样做。那时我最好直接与 gopath 系统作斗争并告诉人们使用 Makefile 构建软件。

关于如何解决这个问题,或者告诉人们什么?我真正不想做的一件事是运行 git symbolic-ref 来更改服务器上的 HEAD ,因为 master 确实需要成为所有开发人员的默认分支。无论如何,不​​需要在服务器上更改 HEAD ,因为 go get 是选择获取 go1 分支的分支,那么为什么它不创建一个从 origin/go1 拉取的本地 go1 分支呢?


解决方案


事实证明这只是 cmd/go 中的一个错误。这是该问题的链接:

https://github.com/golang/go/issues/27526

如果这个错误在 1.12 中得到修复,那么我想做的就可以了。

理论要掌握,实操不能落!以上关于《go get -u 对于包含 go1 分支的包失败》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>