2016-09-12 3 views
0

Я хотел бы иметь файлы из нескольких репозиториев git, клонированных в том же каталоге.Несколько репозиториев git в том же каталоге

Из-за ограничений по размеру (от Bitbucket) мне пришлось разделить большой проект на несколько небольших репозиториев. Каждый репозиторий содержит несколько папок, а когда вместе взятые они составляют для крупного проекта:

  • Repo 1:
    • Dir1
    • Dir2
  • Repo 2:
    • Dir3

Окончательная структура:

  • Dir1
  • Dir2
  • DIR3

Идея довольно проста и будет очень легко сделать с помощью ветвей, но, как я уже упоминал в связи с размер проекта невозможен.

Возможно ли это, возможно, с .gitignore. Любые другие идеи приветствуются.

+4

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

+0

Да, у проекта действительно есть большое количество необходимых бинарных файлов, включая карты, и их размер превышает предельный уровень 1 бит на Bitbucket. – silentz0r

ответ

0

Вы можете использовать символические ссылки в каталогах.

project/ 
- dir1 -> link to repo1/dir1 
- dir2 -> link to repo1/dir2 
- dir3 -> link to repo2/dir3 
- repo1 -> git repository 
--- dir1 
--- dir2 
- repo2 -> git repository 
--- dir3 

Это требует, чтобы вы вносили изменения в оба РЕПО вручную. Переключающие ветви также должны быть выполнены для обоих проектов одновременно. Конечно, вы можете автоматизировать это, я думаю. Однако управление двумя репозиториями никогда не будет таким простым, как один.

Однако, если у вас есть такой большой репозиторий, действительно передумайте, что вы на самом деле хотите иметь под контролем версий. Бинарники и любые другие формы автоматически создаваемых файлов (например, PDF из LaTeX, PNG из SVG, архив sources.zip из всех источников), как правило, не относятся к управлению версиями. То же самое относится к записанным данным, которые никогда не должны меняться (например, фотографии, видео, файлы журналов).

+0

Будут ли символические ссылки на окна? Я не против управления репозитариями отдельно, так как я группировал каналы в несколько организованном порядке. К сожалению, есть куча двоичных файлов, включая большие файлы «карты», которые невозможно сгенерировать. Я сократил как можно больше от этого проекта, и он по-прежнему превышает требуемый размер Bitbucket. К сожалению, компиляция должна произойти на машине разработки, поскольку компиляторы не могут быть установлены на сервере (машине назначения). – silentz0r

+0

«Будут ли символические ссылки на окна?«Пожалуйста, сначала google, что отвлекает от фактического вопроса. (Если на самом деле нет ответа - и я уверен, что есть, - тогда вы можете задать новый вопрос на соответствующем сайте). - Значит, эти большие файлы карт генерируются? Затем вы должны скопировать их с использованием другого протокола (например, FTP, HTTP (например, с помощью Dropbox/Google Drive или других служб)). –

+0

Это действительно очень актуально, потому что ваше решение может работать только в * NIX-операционных системах, файлы карты не генерируются, однако они часто редактируются вручную, поэтому их помощь в управлении версиями несколько помогает. Я не думаю, что какой-либо инструмент diff может фактически показать изменения, внесенные в файл, поскольку он распознается как двоичный файл. – silentz0r

Смежные вопросы