Я использовал описанную здесь стратегию ветвления git http://nvie.com/posts/a-successful-git-branching-model/
До сих пор она работала очень хорошо для меня.
Вопрос, который я часто задаю самому себе, возникает во время работыв ветви функций мне в конечном итоге понадобится реализовать код, относящийся ко всему проекту.Каков наилучший способ справиться с этими ситуациями?
a) Изучите основную ветку разработки, зафиксируйте изменения и перебазируйте функциональную ветку от разработки.
b) Внесите изменения вфункциональная ветвь, а затем объединение с разработчиком, чтобы другие ветви функциональных возможностей могли иметь доступ к этому коду.
в) Создать новую ветвь для общего кода и объединить ее с разработчиком, а также с любыми ветвями функциональных возможностей, которые необходимоиспользуйте его.
Вот еще один вопрос.Как часто вы сливаете функциональную ветвь обратно в основную ветку разработки?Вы ждете, пока функция полностью не завершится, затем объедините ее и удалите?Или вы возвращаетесь к разработке несколько раз в течение своей жизни, когда она стабильна?