Идея, более подробно объясненная в этой статье , состоит в том, чтобы ежедневно объединяться из ветви ствола / выпуска в ветви функций, но объединяться обратно в другом направлении только тогда, когда функция соответствует вашему определению «выполнено».
Код, написанный одной специальной группой, будет помещен в ствол после его завершения и будет «распространен» среди других групп, где могут быть разрешены конфликты, как часть ежедневного процесса слияния.
Это не идет так далеко, как удовлетворение желания Ника создать систему контроля версий, в которой можно использовать инструмент резервного копирования, если только внесенные изменения не настолько малы, чтобы их можно было зафиксировать в ветви функций в течение периода времени, когда риск потерять работу приемлем.
Лично я не пытаюсь реинтегрировать код в ветку релиза до того, как это будет сделано, и хотя я никогда не пробовал, я уверен, что создание функции, включающей незаконченную работу, имеет свои проблемы.