Git-репо всегда должен быть в своем собственном каталоге - PullRequest
3 голосов
/ 11 марта 2010

Я бы хотел, чтобы несколько файлов в папке управлялись различными репозиториями git. Возможно ли это?

У меня есть следующая структура папок для проекта. Он является частью репозитория Git:

plugins/
 - plugin.a.php
 - plugin.b.php
 - plugin.c.php

Я бы хотел, чтобы plugin.b.php был частью другого репо. Например, я хочу, чтобы разработка этого плагина размещалась на github. Использовать и разрабатывать одновременно на разных проектах.

Когда я использую подмодуль git для plugin.b.php, мне нужна пустая папка для инициализации подмодуля, поэтому я имею структуру:

plugins/
 - plugin.a.php
 newfolder/
     - plugin.b.php
 - plugin.c.php

plugin.b.php не будет загружаться, так как, например, мое приложение загружает только файлы из корня plugins/. И я не хочу изменять приложение.

Есть ли в любом случае, чтобы сделать это? Я могу вспомнить множество ситуаций, когда я хотел бы использовать подобный рабочий процесс. Даже с plugin.b.php и plugin.c.php в разных репо.

Спасибо

Ответы [ 2 ]

2 голосов
/ 11 марта 2010

См. Ответ @tanascius, который дает правильный ответ на использование нескольких репозиториев git в одном каталоге.

Я старательно отвечаю на свой вопрос в отношении: примера вопроса и GitHub. Как есть небольшая оговорка ...

Для pluginb & pluginc невозможно иметь одинаковые имена файлов в папке plugins. Хотя это маловероятно, поскольку в репозиториях github у них обоих есть файлы README github, вызывающие конфликт.

Для этой ситуации с низким количеством файлов Я решил использовать символическую ссылку (и хранить репо внутри основного репо, что необязательно):

.git/
.gitignore = .repos/
.repos/
     .git/
     - pluginb/
         README
         plugin.b.php
     - pluginc/
         README
         plugin.c.php
plugins/
     - plugin.a.php
     - symbolic-link = plugin.b.php
     - symbolic-link = plugin.c.php
2 голосов
/ 11 марта 2010

Посмотрите на --git-dir, --work-tree, GIT_DIR и GIT_WORK_TREE.
Вы должны быть в состоянии создать хранилище где-то еще и установить его рабочий каталог по вашему обычному пути. Просто добавьте один файл во второй репозиторий.

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