Я основываю свое Git-репо на успешной модели ветвления Git, и мне было интересно, что произойдет, если у вас возникнет такая ситуация:
Скажем, я разрабатываю две ветви функций A и B, а для B требуется код из A. Узел X вносит ошибку в функцию A, которая влияет на ветку B, но это не обнаруживается в узле Y, где функции A и B были объединены и тестирование проводилось перед повторным разветвлением и продолжением следующей итерации.
В результате, на узле Z обнаружена ошибка людьми, работающими над функцией B. На этом этапе было решено, что исправление необходимо. Это исправление следует применять к обеим функциям, поскольку людям, работающим над функцией A, также необходимо исправить ошибку, поскольку она является частью их функции.
Должна ли ветка с исправлениями ошибок создаваться из самого последнего узла компонента A (тот, который ответвляется от узла Y), а затем объединяться с функцией A? После чего обе функции объединяются в разработку и тестируются перед разветвлением?
Проблема в том, что для решения проблемы требуется объединение обеих ветвей. Поскольку функция B не затрагивает код в функции A, есть ли способ изменить историю в узле Y, внедрив исправление и по-прежнему позволяя ветке функции B оставаться неизменной, но иметь фиксированный код из функции A?
Слегка связано: соглашение о ветвлении Git