В git ветки легкие. Вы можете рассматривать ветку как просто метку или указатель на определенный коммит X. Когда вы «фиксируете ветку», он связывает старый коммит с новым коммитом с отношениями родитель-потомок и продвигает ветку указатель. Отношение сохраняется в коммите, оно отдельно от существования метки ветви.
У каждого коммита может быть несколько родителей. Вот что произошло, когда вы слились: он сделал новый коммит M с 2 родителями (так называемый «слияние»). В тот момент (если это было сделано правильно) ваша ветвь "master", вероятно, указывала на коммит слияния M, а ваша ветвь "Develop" все еще указывает на ваш последний коммит dev (я полагаю, что это 83bebd6, если синяя ветвь "развивается").
Теперь, чтобы узнать, расходятся ли ваши ветви или нет, вы можете запустить:
git show master
git show develop
Это покажет коммит, на который указывает каждая ветвь (снова подумайте в терминах меток коммитов).
Чтобы узнать, в какой ветке вы находитесь в данный момент, вы запускаете git branch
. Если вы в данный момент находитесь на «master», это означает, что каждый коммит будет продвигаться и обновлять master
«label» (и он будет «расходиться» от любых других ваших веток, как только вы делаете коммит, потому что обычно вы не можете фиксировать несколько веток одновременно).
Хотя это опасная и разрушительная операция, вы всегда можете «сбросить» метку «ветки», чтобы указать на какой-либо другой (предыдущий или даже совершенно не связанный) коммит:
git checkout develop
git reset --hard 83bebd6
Это будет локально делать так, чтобы "развивать" очки для совершения 83bebd6.
Если вы хотите, чтобы эта ветвь сбрасывалась на сервере bitbucket (а это еще более опасно и разрушительно), вы делаете:
git push -f