Маленький контекст: мы команда из 6 разработчиков, работающих над веб-приложением. С момента запуска мы использовали CVS в качестве нашей системы контроля версий на сервере Windows, используя ColdFusion w / Eclipse. В последнее время, несмотря на всю шумиху вокруг Git и распределенных систем, мы решили проверить это.
В качестве стандартного веб-приложения у нас есть локальная среда, в которой мы разрабатываем новые функции / исправления ошибок. Среда разработки, в которой мы стараемся все для первоначального тестирования QA. Этап, на котором мы отправляем функции / исправления, которые уже были протестированы в этой среде, должен максимально имитировать наши производственные серверы. Наконец все идет по живой системе в пустыне ...
Этот процесс иногда довольно болезненный, так как большая часть его выполняется с помощью FTP, а иногда нет, и мы часто сталкиваемся с конфликтами при фиксации, поскольку для проверки чего-либо требуется больше времени, чем обычно, или когда срочно требуется быстрое исправление ошибки.
Я немного смущен тем, как Git будет работать в этом случае, это, очевидно, не редкий сценарий, но большая часть того, что я обнаружил, не говорила об этом подробно.
Если я правильно понимаю, что локальные ветви играют важную роль в Git, я сначала клонирую репозиторий git, затем разветвляю, что-то исправляю и фиксирую все локально?
Затем я получаю его обратно в главный репозиторий под стволом, где есть конфликты слияний, если они есть?
Если мои предположения верны, то главный вопрос - что происходит с постановкой. Очевидно, что некоторые функции / исправления требуют больше времени для тестирования, некоторые - более срочные и т. Д. Могу ли я просто сделать что-то вроде добавления определенных функций / веток в стадию для окончательного выхода из системы, а затем сделать то же самое с живого сервера ( потяните как они подписаны)?
Это довольно много, чтобы прийти из истории CVS ... любая помощь будет принята с благодарностью!