Переход на GIT из SVN

#svn #git #git-svn

#svn #git #git-svn

Вопрос:

Прямо сейчас мы используем SVN для нашего элемента управления subversion. И мы этим вполне довольны. Мы используем это для следующего случая

  • Совместное использование проекта и объединение кода.

Теперь мы также хотим использовать следующий случай

  • Есть папка с надписью «plugin», которая необходима для включения во многие проекты в качестве вложенной папки, теперь, когда мы что-то меняем в «plugin» и фиксируем это. Изменения должны затронуть подпапку всего проекта, в котором она есть (по крайней мере, она должна показывать входящие изменения для папки плагина в проектах).

У меня есть следующие запросы:

  1. Можем ли мы выполнить второй случай в subversion. Если да, то каким образом??
  2. Является ли git лучшим для обоих случаев, если да, то как начать с git и выполнить два случая.

Ответ №1:

В Git есть нечто, называемое подмодулями, которое выполняет то же, что и внешние компоненты svn.

Поскольку вы упомянули о слиянии, Git очень хорошо справляется со слиянием и ветвлением и является одной из веских причин начать использовать Git поверх SVN. Более того, Git — это распределенная система контроля версий с дополнительными преимуществами локальных коммитов, ветвей, слияния и т.д., И разработчики могут легко передавать изменения друг другу без необходимости в центральном сервере / репозитории

Итак, если совместное использование проекта и слияние — это то, что вы ищете, Git — это правильный путь.

Ответ №2:

Второй вариант использования может быть реализован в Subversion с использованием внешних ресурсов. В ваших проектах создайте пустые папки плагинов с определениями externals в отдельном репозитории плагинов. Когда вы оформляете заказ или обновляете проект, он разрешает определение externals и обновляет / извлекает репозиторий плагинов.

Комментарии:

1. спасибо, еще одна вещь, что, если файлы этого каталога плагинов разбросаны по репозиторию проекта, это сработает???

2. Нет. Вам нужно разделить их по отдельным папкам.