Создайте git-репозиторий, содержащий другой git-репозиторий - PullRequest
5 голосов
/ 10 сентября 2009

Я создал голое git-репо (назовем его repo # 1) и клонировал его.

  • В клоне (репо № 2) я создал несколько папок, в одной из которых я решил сделать git-репо (репо № 3).
  • Когда я фиксирую репо № 2, все работает как положено, за исключением того, что репо № 3 игнорируется (папка .git, файлы фиксируются).

Как я могу добавить репо № 3 к репо № 2, чтобы, когда я помещал репо № 2 в репо № 1, я мог сделать отдельный клон репо № 1, в котором я также могу получить доступ к истории и т. Д. Репо № 3

Другими словами. Как создать репозиторий git, содержащий другой репозиторий git?

Ответы [ 5 ]

11 голосов
/ 10 сентября 2009

Я не знаю, как сделать именно то, что вы предлагаете, но подмодули, вероятно, приблизятся (или так близко, как вы собираетесь получить). Вот достойный учебник:

http://git.or.cz/gitwiki/GitSubmoduleTutorial

3 голосов
/ 10 сентября 2009

Ты не должен этого делать. Метаданные в .git / изменяются в течение срока действия репо, и эти изменения не обязательно означают «изменения в контенте», которые должны быть зафиксированы: простой git repack изменяет файлы в .git, но эти изменения не должны фиксироваться. Почему ты хочешь это сделать?

2 голосов
/ 10 сентября 2009

Я ни в коем случае не профессионал GIT, но я думаю, что вы имеете в виду подмодули git

git submodule --help
2 голосов
/ 10 сентября 2009

см. подмодуль git

Я никогда не использовал его, поэтому все, что я могу сделать, это опубликовать ссылку ...

0 голосов
/ 11 января 2015

В корневой папке хранилища контейнера просто выполните:

git submodule add https://github.com/yourusername/containedrepo.git containedrepo

Это клонирует containedrepo в каталоге /containedrepo. Отныне вам не следует вносить изменения в каталог /containedrepo, а вносить изменения в containedrepo и затем извлекать их. Когда вы извлекаете хранилище основного контейнера, оно также извлекает все хранилища подмодулей, например, containedrepo.git.

Вот отличный учебник: https://github.com/NebuPookins/git-submodule-tutorial

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...