У меня был местный филиал, который был разветвлен от master довольно давно, на котором было несколько коммитов.Я хотел получить эту локальную ветку в курсе с master, поэтому я сделал
git co my_branch
git rebase master
, ожидая, что это воспроизведет коммиты в my_branch поверх master.Однако вместо этого он, кажется, слил коммиты из my_branch в master, а затем перенес my_branch в то же место, что и master, т.е. я перешел от этого:
A -- B -- C -- D master, origin/master
\
E -- F my_branch
к следующему:
A -- B -- E -- F -- C -- D master, origin/master, my_branch
когда я ожидал этого:
A -- B -- C -- D master
\
E' -- F' my_branch
Мой вопрос не столько в том, почему он это сделал, а в том, могу ли я вернуть вещи туда, где они были изначально, так как предположительно вставленные коммитыбыть проблематичным при взаимодействии с удаленным репозиторием (в который были помещены последующие коммиты).
Редактировать
Оказывается, я уже слился в ветке.Таким образом, rebase не имеет ничего общего и просто оставил указатель my_branch в том же месте, что и master.