git submodule 子模块应用

经常有这样的事情,当你在一个项目上工作时,你需要在其中使用另外一个项目。也许它是一个第三方开发的库或者是你独立开发和并在多个父项目中使用的。这个场景下一个常见的问题产生了:你想将两个项目单独处理但是又需要在其中一个中使用另外一个。

在Git 中你可以用子模块submodule来管理这些项目,submodule允许你将一个Git 仓库当作另外一个Git 仓库的子目录。这允许你克隆另外一个仓库到你的项目中并且保持你的提交相对独立

在项目中遇到的问题

项目中通过composer安装来自segmentFault的markdown语言解析器hyper-down插件,版本为"joyqi/hyper-down": "@dev"

$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing joyqi/hyper-down (dev-master 2fad8f9): Cloning 2fad8f9c61 from cache
Writing lock file
Generating autoload files

用git add composer安装自动生成相应的vendor目录时产生以下报错

$git add vendor/
warning: adding embedded git repository: vendor/joyqi/hyper-down
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint:   git submodule add <url> vendor/joyqi/hyper-down
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint:   git rm --cached vendor/joyqi/hyper-down
hint:
hint: See "git help submodule" for more information.

原因是composer安装插件的时候会clone segmentFault在github代码库中的代码,此处再添加到版本控制就会报版本库已经存在

报错信息提出了解决办法,就是通过添加子模块来进行版本控制

解决步骤

然后可以看到根目录下多了一个.gitmodules的文件:

[submodule "vendor/joyqi/hyper-down"]
    path = vendor/joyqi/hyper-down
    url = https://github.com/SegmentFault/HyperDown.git

执行 git add && git commit && git push

代码库

客户端使用

##### 法一:克隆父项目,再更新子模块

子模块前面有一个-,说明子模块文件还未检入(空文件夹)

初始化模块只需在克隆父项目后运行一次

##### 法二 :递归克隆整个项目

##### 执行完可以看到vendor/joyqi/hyper-down文件夹下已经checkout所有文件了

Responses
  1. Excellent post. I used to be checking continuously this weblog and I am impressed! Very useful information specially the final phase :) I deal with such information a lot. I used to be looking for this certain information for a long time. Thanks and best of luck.

    Reply
  2. [url=https://ivermectinrm.com/]stromectol buy uk[/url]

    Reply
  3. [url=http://cialispillsotc.com/]cialis 2.5 mg daily[/url] [url=http://cialisofr.com/]cialis canada paypal[/url] [url=http://viagramof.com/]viagra usa buy[/url] [url=http://brandandgeneric.com/]ivermectin lice oral[/url] [url=http://tadalafil.coupons/]average cost of cialis for daily use[/url] [url=http://pillsmore.com/]purchase stromectol online[/url] [url=http://cialis.monster/]cheap cialis tablets[/url] [url=http://tadalafilbuys.com/]tadalafil australia buy[/url] [url=http://viagra.gdn/]india viagra tablets[/url] [url=http://onlinesildenafilbuy.com/]generic sildenafil paypal[/url]

    Reply
  4. На нашем сайте представлен калькулятор [url=https://страхование-осаго-онлайн.рф/]Осаго онлайн[/url] с последними изменениями и тарифами действующими в 2021 году. Вы можете воспользоваться всеми преимуществами онлайн-калькулятора ОСАГО благодаря прозрачности системы страхования и возможности автовладельца заранее рассчитать цену на [url=https://страхование-осаго-онлайн.рф/]страховой полис[/url] .

    Reply
  5. https://coolwaterworks.com/ جهاز تبريد مياه الخزان,جهاز تبريد مياه الخزانات,تبريد مياه الخزان,مبرد مياه التانكي,مبرد مياه الخزان

    Reply
  6. Приветствую Вас господа! Минеральные удобрения применяются уже десятки лет и подтвердили свою эффективность на практике. Перед тем, как приобретать удобрение, чтобы определить, чего конкретно не хватает в почве на ваших сотках – используйте лакмусовые индикаторные бумажки для определения кислотности почвы. И после этого, осознанно выбирайте необходимое удобрение, концентрат и регулятор кислотности для почвы. Kristalon разработал современные эргономичные составы минеральных удобрений и выпускаются в форме водорастворимых кристаллов и сбалансированным составом макро/микро элементов. Помимо увеличения роста растений, плоды, полученные с этих культур спокойно можно добавлять в детские и диетические блюда, что показывает максимальный уровень безопасности для здоровья. Для улучшения общего состава почвенного состава на вашем участке могут послужить комплексные минеральные удобрения, мелиоранты, гуминовые удобрения. Дополнительная подкормка и защита также помогут вам в борьбе за урожай и цветущий сад. Нам будет приятно видеть у нас на сайте Увидимся! https://forum.nebula-galaxia.de/viewtopic.php?f=2&t=762134&p=1001260#p1001260 http://puqiuai.com/home.php?mod=space&uid=37885 https://huszarlajoseremtar.eoldal.hu/cikkek/arpad-hazi-uralkodok-penzei/1__-i_-_szent_-istvantol-imreig.html http://lesou2.ru/user/agrohimjsm/ http://ruchej.rts-automation.com/e107_plugins/forum/forum_viewtopic.php?id=170&last=1

    Reply