簡體   English   中英

github repo中的Git子模塊

[英]Git submodules in github repo

在我的項目中,即時通訊使用了第三方庫。 我已經在我的項目中git克隆了這個lib,然后在lib文件夾中完成了git submodule initgit submodule update 我將主項目推送到github,但未發送該第三方lib的內容,並且lib文件夾在github項目存儲庫中看起來像綠色文件夾。

如果我在另一台機器上克隆我的主項目,我那里沒有lib的內容,那么我應該在機器上再次git克隆lib並再次運行init和update命令,或者是否有任何方法可以推送我的github存儲庫的第三方庫?

謝謝

請注意,自2013年4月30日起,當您在github.com上查看帶有子模塊的存儲庫時,會獲得該子模塊的有用鏈接和信息:

子模塊

現在,您可以看到子模塊指向的確切引用。

Repository Contents API將反映該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"
  }
}

是的,子模塊本質上是它自己的git存儲庫。 父git項目僅引用特定的提交。 有關如何維護它們的詳細信息,請參考git子模塊的幫助。 是的,您確實需要初始化和更新每個子模塊的存儲庫,但是,您會發現有一些命令(在幫助中)可以為您做很多事情。

我遇到了同樣的問題:我想從github上托管的項目存儲庫中嘗試一些代碼,所以我克隆了它。 在我的同事告訴我有關魔咒的內容之前,沒有任何構建命令起作用:

git子模塊更新--init

正確克隆了倉庫中引用的子模塊。 從“ git submodule help”或“ man git-submodule”,這些對我來說都不是很清楚。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM