Проблема здесь в том, что с того момента, когда вы изначально создали свою ветвь объекта из development
, и вы, и , и другие могли сделать коммиты на эту функцию и ветки development
соответственно. Диаграмма была бы полезна здесь:
development: -- A -- B -- C -- D
\
feature: E -- F
Здесь вы отошли от development
при B
коммите, и с тех пор вы сделали F
коммит и другие (возможно, даже вы какхорошо) сделали C
и D
коммиты в удаленную ветку development
. Первым из двух ваших шагов было слияние development
с вашей веткой объектов:
development: -- A -- B -- C -- D
\ \
feature: E -- F -- M1
Теперь у вас есть M1
коммит слияния локально, и ваша ветка должна быть полностью обновлена с тем, что поступилоудаленно в C
и D
коммитов. Теперь вы можете объединить свою ветвь объектов в development
, оставив вам:
development: -- A -- B -- C -- D -- M2
\ \ /
feature: E -- F -- M1
Что касается необходимости этих двух шагов, первый шаг гарантирует, что ваша локальная ветвь функций будет работать додата с тем, что случилось на пульте development
, так как вы изначально создали ветку. По крайней мере, в некоторых случаях невыполнение этого шага будет означать, что слияние приведет к некоторым конфликтам. GitHub обнаруживает это и часто отказывается объединяться, если вы не в курсе. Второй шаг, вероятно, тот, который вы ожидали, и просто фактическое слияние вашей ветви функций в development
.