Я смотрю, как / если мне следует перейти с SVN на GIT.
В настоящее время у меня есть многоуровневый набор проектов в svn, который состоит из слоев, так что D использует C, который использует B, который использует A. Фактические развернутые проекты, такие как X, Y, Z, используют любую из общих библиотек A-D. Цель состоит в том, чтобы будущие проекты и другие команды совместно использовали базовые библиотеки (A-D) и обеспечили лучший контроль ветвления.
В svn, если мы хотим разрешить другим командам использовать библиотеку C, не связываясь с X, Y, Z, тогда все просто, они просто проверяют бит C дерева svn, если это приводит к тому, что они хотят исправить B, то же самое. Они никогда не касаются X, Y, Z, даже если они находятся в том же самом репо. Не так очевидно, что происходит с git.
Если я хочу что-то настроить с помощью git, как бы вы посоветовали мне его настроить и каковы плюсы и минусы предложенной вами установки.
Особенности, которые я ищу:
- Простое тегирование (если возможно), позволяющее легко маркировать состояние всей кодовой базы (просто с общим корнем svn или одним репозиторием git)
- Легко для других интегрировать / повторно использовать общие библиотеки A-D
- Для них просто дать нам рекомендуемые исправления / исправления, которые мы можем выбрать, чтобы взять или проигнорировать (одна из главных вещей, которые я хочу от git).
- Команды, чтобы иметь эффективные функции частного владения для общих библиотек (чтобы они могли помечать их и исправлять самостоятельно на своих временных шкалах)
Git, кажется, предлагает то, что я хочу, я просто не уверен, как справиться с проблемой одиночного и множественного репо.