Взаимосвязанные проекты в Git Repo - PullRequest
0 голосов
/ 06 ноября 2018

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

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

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

Я пришел с gitslave, который выглядит многообещающе для того, что я хочу, но поддержка Windows и документация в целом кажутся плохими.

Так как бы я справился со сценарием, подобным этому?

1 Ответ

0 голосов
/ 07 ноября 2018

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

  1. Есть ли у проекта Frontend зависимость времени компиляции от API? Значение API определяет какой-либо удобный уровень для Frontend?

    • Если нет, то, похоже, вам не следует пытаться использовать субмодули или git для определения вашего проекта. Вместо этого просто клонируйте оба репозитория в одну папку и используйте IDE, которая может открыть произвольную папку в качестве проекта (см. sublime ). В этом случае проект / рабочее пространство отличается от репозитория git.
  2. Планируете ли вы создать несколько проектов Frontend, каждый из которых будет использовать один API? Например, может быть, у вас есть приложение для инвестирования и приложение для составления бюджета, которые оба общаются с одним и тем же сервисом.

    • Если да, то я бы предложил использовать подмодули git. Frontend1_repo и frontend2_repo будут иметь один и тот же подмодуль api_repo. Тогда frontend1_repo и frontend2_repo смогут независимо отслеживать версию api_repo, с которой они были совместимы (когда / если вы в конечном итоге сделаете критическое изменение API). Пожалуйста, рассмотрите возможность использования семантического контроля версий . Затем используйте любую IDE, в которой вы хотите, в этом случае git-репозиторий совпадает с проектом / рабочей областью.

    • Если нет, то я бы предложил просто встроить репозиторий API в репозиторий Frontend. Это сокращает объем обслуживания проекта и позволяет избежать необходимости создания версий. Затем используйте любую IDE, в которой вы хотите, в этом случае git-репозиторий совпадает с проектом / рабочей областью. Пожалуйста, имейте в виду, что если вы поддерживаете чистую структуру папок, вы можете выбрать каталог API в новый репозиторий, если в конечном итоге захотите создать новый интерфейс в будущем.

...