Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
github repo中的Git子模块_Git_Github_Git Submodules - Fatal编程技术网

github repo中的Git子模块

github repo中的Git子模块,git,github,git-submodules,Git,Github,Git Submodules,在我的项目中,我使用第三方库。我让git在我的项目中克隆了这个库,然后在lib文件夹中完成了git子模块init和git子模块更新。我将我的主项目推送到github,但是这个第三方库的内容没有被发送,并且库文件夹在我的github项目repo中显示为绿色文件夹 如果我在另一台机器上克隆我的主项目,我没有库的内容。那么,我应该在机器上再次git克隆库并再次运行init和update命令,还是有办法将第三方库的内容推送到我的github repo 谢谢是的,子模块本质上是一个自己的git存储库。父g

在我的项目中,我使用第三方库。我让git在我的项目中克隆了这个库,然后在lib文件夹中完成了
git子模块init
git子模块更新。我将我的主项目推送到github,但是这个第三方库的内容没有被发送,并且库文件夹在我的github项目repo中显示为绿色文件夹

如果我在另一台机器上克隆我的主项目,我没有库的内容。那么,我应该在机器上再次git克隆库并再次运行init和update命令,还是有办法将第三方库的内容推送到我的github repo


谢谢

是的,子模块本质上是一个自己的git存储库。父git项目只是引用一个特定的提交。有关如何维护git子模块的详细信息,请参阅git子模块的帮助。是的,您确实需要初始化和更新每个子模块的存储库,但是,您会发现(在帮助中)有很多命令可以为您完成这项工作。

请注意,自2013年4月30日以来,当您在github.com上查看包含子模块的存储库时,您会获得子模块的有用链接和信息:

现在您可以看到子模块指向的确切引用

这将反映出SHA1

curl https://api.github.com/repos/jquery/jquery/contents/test/qunit

{
  "name": "qunit",
  "path": "test/qunit",
  "type": "submodule",
  "submodule_git_url": "git://github.com/jquery/qunit.git",
  "sha": "6ca3721222109997540bd6d9ccd396902e0ad2f9",
  "size": 0,
  "url": "https://api.github.com/repos/jquery/jquery/contents/test/qunit?ref=master",
  "git_url": "https://api.github.com/repos/jquery/qunit/git/trees/6ca3721222109997540bd6d9ccd396902e0ad2f9",
  "html_url": "https://github.com/jquery/qunit/tree/6ca3721222109997540bd6d9ccd396902e0ad2f9",
  "_links": {
    "self": "https://api.github.com/repos/jquery/jquery/contents/test/qunit?ref=master",
    "git": "https://api.github.com/repos/jquery/qunit/git/trees/6ca3721222109997540bd6d9ccd396902e0ad2f9",
    "html": "https://github.com/jquery/qunit/tree/6ca3721222109997540bd6d9ccd396902e0ad2f9"
  }
}

我也有同样的问题:我想从github上托管的项目repo中尝试一些代码,所以我克隆了它。在我的同事告诉我关于魔法咒语之前,所有构建命令都不起作用:

git子模块更新--init

正确克隆了repo中引用的子模块。从“git子模块帮助”或“man git子模块”中,我也不清楚这些

祝你好运