Как организовать репозитории git при наличии нескольких приложений? - PullRequest
0 голосов
/ 19 февраля 2019

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

Это ситуация

  • компонент, который соединяется с бэкэндом

  • сценарии создания БД (таблицы, представления, функции, хранимые процедуры)

  • три разных интерфейса (веб-страницы)

Самое простое - сохранить все в одном репо (наиболее распространенный сценарий - это то, что мне нужно изменить их)все, если, например, мне нужно добавить поле в таблицу).

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

1 Ответ

0 голосов
/ 19 февраля 2019

Единственное преимущество, которое я знаю о наличии нескольких репозиториев для тесно связанных проектов, - это если вы ожидаете, что они будут использоваться независимо, и считаете, что клонирование всего будет дорогостоящим, если у вас есть один репозиторий.Некоторые люди утверждают, что наличие независимых историй полезно, но я никогда не находил это полезным после некоторого времени.Я обнаружил, что это вызывает проблемы, когда вы пытаетесь выполнить отладку в стиле git bisect по нескольким репозиториям.

Если вы используете несколько репозиториев по вышеуказанной причине, но все равно должны часто работать с ними вместе, тогда я 'рекомендую создать супер-репозиторий, в котором все остальные будут подмодулями.Таким образом, вы можете, по крайней мере, иметь снимки в истории супер-репозитория, когда каждая из частей была совместима с другими.

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

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