登录
首页 >  Golang >  Go问答

获取已删除提交的尝试

来源:stackoverflow

时间:2024-03-14 12:42:25 225浏览 收藏

一分耕耘,一分收获!既然都打开这篇《获取已删除提交的尝试》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我有一个 go 项目,它使用 2 个额外的私有依赖项。其中之一是间接的

myproj --depends--> mylib1 --depends--> mylib2

问题是当我尝试 go get 时它返回错误,例如

$ go get my.repo/my-lib1@latest
go: get my.repo/[email protected]: invalid version: unknown revision aa11aa11aa11

myproj 有类似 go.mod

require (
    ...
    my.repo/my-lib1 v1.1.1-0.20230714111111-44ff44ff44ff
)

require (
    ...
    my.repo/my-lib2 v1.2.3-0.20230605111111-33bb22bb33bb // indirect
)

在某个时候,mylib2 被扩展为一个新功能。 mylib1 指向这个功能分支。然后mylib2功能被合并到master中,分支被删除。 mylib1 也更新到 mylib2 的 master 分支。大致如下:

现在,每次我必须将 mylib1 更新到最新版本时,go get 命令都会尝试获取已删除的分支。 go get 命令尝试获取 mylib1 和 mylib2 git 存储库,尝试缓存所有提交,但在拉取已删除的 mylib2 的 aa11aa11aa11 提交时失败。解决方法是从项目的 go.mod 文件中删除间接 mylib2 并运行 go mod tidy

如何使 go 获取 my.repo/my-lib1@latest 仅拉取库的最新版本而不拉动已删除的分支?有没有办法从 mylib1 git 历史记录中删除 mylib2 已删除的分支 aa11aa11aa11 ,以便 go 的缓存可以避免它?


正确答案


解决方案是恢复已删除的分支Can I recover a branch after its deletion in Git?

git checkout -b MyFeature aa11aa11aa11

然后推送它并标记为受保护以避免删除。

理论要掌握,实操不能落!以上关于《获取已删除提交的尝试》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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