Подтвердить что ты не робот

Как обмениваться файлами через репозитории git?

У меня есть несколько приложений на разных доменах на разных серверах Каждое приложение имеет свой собственный репозиторий git. Каждое приложение использует несколько общих файлов. По сути, мои репозитории перекрываются. Как эта ситуация лучше всего обрабатывается несколькими редакторами нескольких проектов?

4b9b3361

Ответ 1

Я попытался бы сделать все перекрывающиеся части git подмодули.

Ответ 2

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

https://git-scm.com/book/en/v2/Git-Tools-Submodules

Проводит вас через суперпроект с подмодулями, редактируя подмодуль из суперпроекта и подталкивая его обратно. Он также показывает одну опасность, которая без изменений перезаписывает изменения, если вы запустите git submodule update, и у вас были локальные неустановленные изменения в главной ветке.

В частности, где-то у вас есть папка с общей папкой - вам нужно удалить это из всех проектов git, но создайте новую репо с git где-то с текущим содержимым в качестве первоначальной фиксации. Затем вы будете git submodule <repo> folder; git submodule update во всех проектах, которые теперь будут делиться им. Все они смогут продвигать изменения до общего репо и смогут изменять друг друга.

Ответ 3

Похоже, вы должны разбить общие элементы, чтобы было четкое различие, а затем использовать подмодули. Удостоверьтесь, что вы четко разделяете общие части, иначе вы, вероятно, окажетесь в недостижимом беспорядке.

Ответ 4

Вы также можете использовать инструмент git-subrepo. Страница wiki связана. В основном это улучшенная версия submodule и subtree.