Я хотел бы создать репо, которое тянет в удаленном репо.
Например, скажем, jQuery как подмодуль:
git://github.com/jquery/jquery.git
Каков будет процесс создания репо с jQuery в качестве подмодуля и добавления моего внешнего в качестве удаленного репо.
Кроме того, если после настройки это произойдет, если я нажму / потяну к своему пульту, внешнее устройство останется неповрежденным?
Ответы:
Подмодули действительно, очень легко ссылаться и использовать. Предполагая, что MyWebApp уже настроен как репозиторий, из терминала выполните следующие команды:
Это создаст каталог с именем
externals/jquery
* и свяжет его с репозиторием gquub jquery. Теперь нам нужно только запустить подмодуль и клонировать код в него:Теперь у вас должен быть весь последний код, клонированный в подмодуль. Если репозиторий jquery изменился и вы хотите вытащить последний код, просто
submodule update
повторите команду. Обратите внимание: у меня обычно есть несколько внешних репозиториев в моих проектах, поэтому я всегда группирую репозитории в каталоге "externals".Онлайновая книга Pro Git содержит полезную информацию о подмодулях (и git в целом), представленную в удобной для чтения форме. С другой стороны,
git help submodule
также даст хорошую информацию. Или посмотрите Учебное пособие по подмодулям Git в git wiki.Я заметил эту запись в блоге, которая рассказывает о подмодулях и сравнивает их с механизмом Subversion svn: externals: http://speirs.org/blog/2009/5/11/understanding-git-submodules.html.
* Рекомендуется всегда размещать свои подмодули в отдельном каталоге, например, в Externals. Если вы этого не сделаете, ваш корневой каталог проекта может стать очень загроможденным очень быстро.
источник
git submodule add
иgit submodule update
... я не уверен, насколько легче это может стать.На большую часть того, что вам нужно знать, уже дан ответ, поэтому я не буду беспокоиться об этом, однако я нашел небольшой фрагмент информации, который обычно отсутствует.
Как вы знаете, «git pull» не будет обновлять подмодули, а «git submodules update» также не будет загружать последнюю HEAD этих подмодулей.
Чтобы обновить все ваши подмодули до последней версии, вы можете использовать
Если вы часто изменяете свои подмодули, и у вас их много, то «git foreach» станет бесценным.
источник
В конце концов, я нашел http://github.com/evilchelu/braid, который, как мне показалось, соответствовал моим ожиданиям работы субмодулей и пультов.
источник
Я думаю, что ответ @Hugo может быть тем, что вам нужно, и отлично работает. Поэтому я нашел более простой способ.
Вот и все.
Таким образом, полный рабочий процесс может быть:
источник