Нашей команде предлагается обновить CVS до SVN, и хотя ее не совсем Mercurial или Git, на которые я надеялся, это, по крайней мере, шаг в правильном направлении.Ветвление разработчиков в SVN
Я знаю, что a big hangup для разработчиков - по крайней мере, с SVN (или любой другой отраслевой SCM) - это тема разветвления и слияния.
Я читал статьи, проповедующие, что «ветви признаков» (ветви, охватывающие развитие определенной новой черты) - это чистое зло. И, прочитав их, я склонен согласиться. Но тогда возникает вопрос о том, , когда нужно разветвить и , когда нужно объединить?
Я занимался идеей о том, что разработчики проверяют сундук/но каждый из них имеет свои (отдельные) ветви разработчиков и передает новый код этим ветвям. Затем, всякий раз, когда разработчик завершает свою работу, мы просто объединяем код, относящийся к этой работе (расположенный внутри их собственной, «частной» ветки) с соединительной линии. Таким образом, они не удерживают кого-либо еще, и если они отстанут, они не остановят выпуск.
Просто интересно, какие мысли СО были сосредоточены на проявителе. Если это ужасная идея, почему? Какой лучший подход? Спасибо заранее!
То, что вы описываете, это особенность, и я не понимаю, почему это было бы чистое зло. –
Мое понимание заключается в том, что ветвь признака будет чем-то вроде 'project/branches/new_feature /', тогда как я говорю о ветвях разработчиков, таких как 'project/branches/johnsmith /'. Когда Джон Смит делает что-то кодирующее, его ветвь объединяется с 'trunk /'. В отличие от всей команды, связанной с '/ new_feature /', и если Джон отстает, задерживая слияние и последующий выпуск. Таким образом, группа марширует независимо от того, где находится Джон. – IAmYourFaja
И http://martinfowler.com/bliki/FeatureBranch.html – IAmYourFaja