Как организовать разбросанный внутренний код библиотеки в Git?

В настоящее время у нас есть хранилище с именем my-company-php-library где у нас есть специфичные для бизнеса инструменты, которые повторно используются в нескольких других проектах.

В последнее время мы добавили другие вспомогательные средства общего назначения, такие как помощники массивов, абстракции кэша, абстракции уведомлений Slack и т. Д.

Мы рассматриваем разделение библиотеки монолитов, но наличие десятка небольших хранилищ кажется чрезмерным:

  • my-company/array-helper
  • my-company/cache
  • my-company/notifications
  • my-company/session-handler
  • my-company/db

Вопрос

Есть ли способ в git, где вся библиотека находится в одном и том же хранилище, но вы можете клонировать только ее часть?

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

0

Решение

Вы можете хранить все в одном хранилище и для:

Is there a way in git where the entire library is in the same repository, but you can clone only a portion of it?

Git разреженные проверки это то, что помогает — взгляните на этот ответ.

Дополнительно виртуальная файловая система git, расширение git от Microsoft также может быть на что посмотреть.

В целом, зависит от размера репо и того, как люди хотят его использовать. С одной стороны, у вас может быть больше коммитов, которые «независимы» друг от друга, с другой стороны, вам нужно иметь дело с большим количеством репозиториев, например, если одна ошибка требует исправления источника, который находится в нескольких репозиториях … Иногда это не то, что лучше, но что менее плохо.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector