首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >递归地克隆git不会拉子模块

递归地克隆git不会拉子模块
EN

Stack Overflow用户
提问于 2015-06-10 11:25:22
回答 1查看 3.2K关注 0票数 6

我想克隆一个git 1,它有一个在.gitmodules中定义的子模块

代码语言:javascript
运行
复制
[submodule "PointInCircle"]
        path = PointInCircle
        url = https://github.com/midas-journal/midas-journal-843

在回答这些问题2-4之后,我试着:

代码语言:javascript
运行
复制
$ git clone --recursive https://github.com/midas-journal/midas-journal-851

如果我正确理解submodule的内容(显然我不理解),那么midas-journal-851中应该有一个名为PointInCircle的目录,其中克隆了第二个repo。但是,没有创建PointInCircle目录,据我所知,代码没有被克隆到任何地方。为了更好的衡量我也试过..。

代码语言:javascript
运行
复制
$ git submodule init
$ git submodule update

...as就像..。

代码语言:javascript
运行
复制
$ git submodule update --init --recursive

...and...

代码语言:javascript
运行
复制
$ git submodule foreach --recursive git submodule update --init

...in克隆的目录。每个命令运行时都不会将任何内容打印到控制台,而且我看不到目录中的任何更改。

知道我做错什么了吗?

1

2

3.

4.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-10 12:16:10

知道我做错什么了吗?

你没做错什么。存储库的子模块只部分配置。

子模块由两件事定义。

子模块由主存储库中的一个所谓的gitlink树条目组成,该条目指的是内部存储库中完全独立的特定提交对象。.gitmodules的记录..。在源树根目录下的文件为子模块分配一个逻辑名称,并描述子模块将被克隆的默认URL。

这个存储库包含一个.gitmodules文件,但没有gitlink对象。

GitHub 使用灰色文件夹图标显示适当的子模块,它不在这个存储库中:

由于错误的.gitmodules文件只包含一个条目,所以在您的情况下,我建议

  1. 删除.gitmodules文件, git .gitmodules
  2. 适当地添加子模块, git子模块添加https://github.com/midas-journal/midas-journal-843 PointInCircle
  3. 还有承诺。 git提交-m "Fix PointInCircle子模块“

来自git commit的输出应该显示PointInCircle正在添加模式160000 (指示gitlink),并且您的存储库现在应该进行了正确的配置。使用git submodule status确保:

代码语言:javascript
运行
复制
$ git submodule status
9bc2651367f8cc5f47ac5f6c708db2f9a71d8fd8 PointInCircle (heads/master)

您可能希望使用修补程序向父存储库打开一个拉请求,但由于它只包含三年前的一个提交,因此我怀疑它已被放弃。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30754878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档