основы git rebase

Я начал использовать git rebaseнедавно и не уверен на 100%, что делаю это правильно. Ради вопроса, есть две ветки по происхождению, masterи next, которые были ответвлениями от master.

С момента последней синхронизации между ними masterбыло 2 коммита, а next6 :

$ git log --oneline origin/next..origin/master
59b5552 master commit #2
485a811 master commit #1

$ git log --oneline origin/master..origin/next
4ebf401 next commit #6
e9b6586 next commit #5
197ada0 next commit #4
4a2c3c6 next commit #3
040a055 next commit #2
84537bf next commit #1

. Когда я проверяю nextи выполняю git rebase -i origin/master, я получаю следующее:

$ git status
# On branch next
# Your branch and 'origin/next' have diverged,
# and have 8 and 6 different commits each, respectively.

И, наконец, после выполнения git pull --rebaseдва коммита из masterнаходятся вnext:

$ git log --oneline origin/next..next 
8741d09 master commit #2
485a811 master commit #1

Вопросы:

  1. Это правильный подход?
  2. Почему существуют 8 and 6разные коммиты до тех пор, пока не будет запущен pull --rebase?
  3. Можно ли упростить поток?

Премного обязан:)

47
задан David Kuridža 20 July 2012 в 06:35
поделиться