Github知道不再存在的提交吗?

时间:2018-01-23 19:46:09

标签: git github git-submodules

我在may代码中有第三方依赖,称之为repo A.依赖本身有一个git子模块,调用子模块repo B.在过去几个月的某个时候,有人必须重新设置repo B,因为提交的引用是repo A在repo B中不再存在,当我尝试递归克隆repo A时,我收到以下错误:

fatal: reference is not a tree: 3c27a70ae7304feb48c60b268c70adf585879d50
Unable to checkout '3c27a70ae7304feb48c60b268c70adf585879d50' in submodule path 'B'

但是,当我在浏览器中导航到https://github.com/A时,会有一个指向repo概述中子模块的链接。如果我单击指向子模块依赖项的链接,我将转到此页面:https://github.com/B/tree/3c27a70ae7304feb48c60b268c70adf585879d50

在左上角我看到了这个: enter image description here

这张图片连同网址tree/3c27a70ae7304feb48c60b268c70adf585879d50让我感到困惑。看here让我相信提交仍然存在,但还没有被垃圾收集'通过github。

我的问题是:

1)这&#34树究竟是什么?#34;对象,因为它不是分支,SHA似乎没有引用任何git对象?

2)是否可以恢复github页面中引用的提交?

3)我假设(2)的答案是否定的,在这种情况下,这是否意味着我的依赖性被打破了? (注意:我知道我可以在repo B中查找相同的提交,然后只需"手动"为repo A添加子模块依赖关系,但是这引入了我自己的一组问题,我和#如果可能的话,我宁愿避免。)

0 个答案:

没有答案