Игнорирование вашей методологии проекта на данный момент, конечное состояние вашего репо после такого признака доставляется должно быть:
- У вас есть новый тег с увеличенным номером версии, и разница между ним а предыдущий тег - новая функция.
- Основная линия разработки (соединительная линия) включает в себя также такую функцию, что новые ветви получают эту функцию, а существующие получат ее в следующий раз, когда они синхронизируются с багажником.
Как вы там зависит немного на макете репо и ее конвенций, но здесь есть два варианта (которые, кажется, соответствует тому, что вам не нравится):
На новый отделите текущий тег (или существующую ветвь интеграции релиза, которая очистится), завершите исправление функции/ошибки, создайте новый тег и отпустите и объедините тег обратно в магистраль. Хороший вариант, поскольку он минимизирует риск того, что нежелательные изменения будут выпущены с исправлением ошибок. Слияние обратно в багажник может быть затруднено, если многое изменилось.
Завершить функцию на багажнике сначала, вишня выбрать его в новую/существующую ветвь интеграции чистого выпуска, пометить ее и отпустить. Хорошо, потому что другие получают вашу функцию/исправление ранее. Слияние с интеграционной ветвью может быть затруднительным, что может замедлить выпуск.
Я думаю, что вариант 1 лучше, так как он обычно будет быстрее выпустить, так как любое слияние откладывается до тех пор, пока изменения будут перенесены обратно в ствол, и там меньше риска нежелательных изменений протекающих в прод.
Что касается методологии вашего проекта, если вы хотите разместить эту функцию, вы должны либо:
- уменьшить объем текущей итерации
- Задержка освобождения текущей итерации
- Получить дополнительные ресурсы (разработчик/с) или сделать сверхурочно, чтобы построить функцию
... Или некоторая комбинация эти.
Вы отметили этот вопрос с помощью гибкого управления проектами и SVN. SVN - это деталь реализации. Он может применяться к любому контролю версий. * или * вы можете просто спросить о сборе вишни/слиянии. –