Я собираюсь переместить мою команду из TFS в GIT в ближайшем будущем, но прежде чем я это сделаю, я хочу знать о любых подводных камнях, которые другие могли испытывать при перемещении команды из централизованного источника управления таких как CVS, SVN, TFS и т.д. в систему управления распределенным источником, такую как GIT или Mercurial.
Некоторые вопросы, которые мгновенно пришли на ум:
-
Работает ли каждый пользователь своей ветки на сервере, а затем сливается, когда это делается, или они просто остаются локальными на своих машинах и после этого нажимают на сервер?
-
Должны ли все новые разработки работать на ветке (т.е. "следующая версия" ) или должны быть выполнены против "master"?
-
Должна ли новая разработка быть сделана в клоне на сервере, а затем выдавать запросы на тягу к базе производственного кода или быть достаточно хорошей ветвью базы производственного кода?
-
Следуйте за номером 3, если все делается на ветке, есть ли способ контролировать, кто может делать слияния в "master"?
-
Есть ли что-нибудь еще, о чем я должен беспокоиться, что я не думаю о том, что произошло в вашем движении от централизованного контроля версий до распределенного контроля версий?
Однако мое настоящее любопытство и вопрос касаются того, как вы управляете своими процессами работы над GIT и другими системами управления распределенными источниками, а не тем, что подходит для моего текущего процесса документооборота.
Обновление: В настоящее время процесс разработки в TFS состоит в том, что у нас есть главная папка, а затем папка ветки для материала следующей версии, и когда код следующей версии завершен, он объединяется в в главную папку. Каждый член команды имеет полные права на осуществление всего проекта. У нас нет сложного процесса по какой-либо части воображения, мы до сих пор использовали наш источник управления как просто немой репозиторий.
Однако, как говорится, я ищу больше идеального процесса обработки ситуации, а не что-то, что соответствует моему текущему процессу. Вот почему я назвал вопрос What team workflow processes do __you__ use concerning GIT?