Неожиданный результат мастера git rebase в локальной ветке - PullRequest
2 голосов
/ 12 декабря 2011

У меня был местный филиал, который был разветвлен от 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.

1 Ответ

0 голосов
/ 13 декабря 2011

Как уже упоминалось в моем редактировании выше, оказывается, что я уже слился в my_branch.Таким образом, коммиты с ветвями уже были частью master, и перебазирование не имело ничего общего после перемещения указателя my_branch на последний коммит в master.

...