Ваше утверждение, что A, B, C и D, являются одинаковыми, неверно (по крайней мере, в контексте этой диаграммы).
Между А и С вы увидите, что есть некоторые коммиты.Это ожидается.При «тестировании» ветки релиза, возможно, обнаружены некоторые ошибки, которые необходимо исправить перед публикацией.Или это может быть связано с необходимостью обслуживания, например, обновление номера версии в исходном коде или подобное.
В любом случае, в ветку релиза вносятся изменения, и после их завершения эти изменения должны быть возвращены в ветку разработки, чтобы они могли перейти к следующему выпуску.
Теперь, сказав все это, могут быть случаи, когда в ветке релиза не будет внесено никаких дополнительных изменений, и в результате слияние обратно в ветку разработки не требуется.В этих ситуациях, если вы попытаетесь слить ветку релиза обратно в ветку разработки, git фактически скажет вам, что делать нечего, и в результате слияние не произойдет.
Это задокументированооригинальная статья об использовании GitFlow здесь:
https://nvie.com/posts/a-successful-git-branching-model/#release-branches
В ветках релиза поддерживается подготовка нового производственного релиза.Они позволяют в последнюю минуту расставить точки над i и пересечь точки.Кроме того, они позволяют исправлять мелкие ошибки и подготавливать метаданные для выпуска (номер версии, даты сборки и т. Д.).Выполняя всю эту работу над веткой релиза, ветвь разработки очищается для получения функций для следующего большого релиза.