#svn #git #git-svn
#svn #git #git-svn
Вопрос:
Прямо сейчас мы используем SVN для нашего элемента управления subversion. И мы этим вполне довольны. Мы используем это для следующего случая
- Совместное использование проекта и объединение кода.
Теперь мы также хотим использовать следующий случай
- Есть папка с надписью «plugin», которая необходима для включения во многие проекты в качестве вложенной папки, теперь, когда мы что-то меняем в «plugin» и фиксируем это. Изменения должны затронуть подпапку всего проекта, в котором она есть (по крайней мере, она должна показывать входящие изменения для папки плагина в проектах).
У меня есть следующие запросы:
- Можем ли мы выполнить второй случай в subversion. Если да, то каким образом??
- Является ли git лучшим для обоих случаев, если да, то как начать с git и выполнить два случая.
Ответ №1:
В Git есть нечто, называемое подмодулями, которое выполняет то же, что и внешние компоненты svn.
Поскольку вы упомянули о слиянии, Git очень хорошо справляется со слиянием и ветвлением и является одной из веских причин начать использовать Git поверх SVN. Более того, Git — это распределенная система контроля версий с дополнительными преимуществами локальных коммитов, ветвей, слияния и т.д., И разработчики могут легко передавать изменения друг другу без необходимости в центральном сервере / репозитории
Итак, если совместное использование проекта и слияние — это то, что вы ищете, Git — это правильный путь.
Ответ №2:
Второй вариант использования может быть реализован в Subversion с использованием внешних ресурсов. В ваших проектах создайте пустые папки плагинов с определениями externals в отдельном репозитории плагинов. Когда вы оформляете заказ или обновляете проект, он разрешает определение externals и обновляет / извлекает репозиторий плагинов.
Комментарии:
1. спасибо, еще одна вещь, что, если файлы этого каталога плагинов разбросаны по репозиторию проекта, это сработает???
2. Нет. Вам нужно разделить их по отдельным папкам.