Похоже, что-то не так с вашим использованием git. Если вы объединяете develop
в master
, но никогда не master
в develop
, тогда master
может свободно расходиться - любые изменения master
не будут никогда не попадут в ветку develop
. Поэтому ваше утверждение, что они имеют одинаковые коммиты, является ложным. Используя диаграмму VonC,
m(1.5)--m1--m2--m(1.6, master)
\ /
d-------d----d (develop)
Коммиты, которые я обозначил "m1" и "m2", никогда не попадут на "развернуть". Если таких коммитов нет - вы не работаете с мастером - тогда, когда вы делаете слияние из развития в мастера, это должно быть слияние с ускорением; тогда они будут иметь такие же коммиты, и все будет работать так, как вы описали.
Конечно, решение зависит от рабочего процесса, которого вы пытаетесь достичь.
Лично я бы на этом этапе либо удалил и пересоздал ветку develop
, начиная с мастера, либо перемотав ее вперед до 1.6
, чтобы при продолжении работы с develop
у вас была эта структура :
m(1.5)--m1--m2---m(1.6, master)
\ / \
d-------d----d d--d (develop)
Тогда git describe
будет считать, что оно основано на 1.6, как на самом деле.
Если вы намереваетесь, что develop
- это ветвь непрерывной разработки, а master
- это ветвь периодического "выпуска", тогда вам следует избегать создания любых коммитов, таких как m1 и m2; насколько вы знаете, git describe
- это , точно говорящий вам, что что-то отличается .
Я не эксперт по использованию git в командах, поэтому возьмите все это с крошкой соли.