Короткий ответ для вашей новой диаграммы: вы перебазируете G
с помощью:
git checkout master
git rebase <commit_id_G>
Более длинный ответ заключается в том, что вам трудно увидеть это, потому что вы думаете о master
как "основная" ветвь, и думая о dev
как "ответвление". Но, конечно, эти имена ветвей являются просто метками, и вы можете рассматривать любую из них как "основную" ветвь.
И, поскольку master
- это ветвь, которую мы действительно хотим изменить, мы можем перерисовать диаграмма, подобная этой:
H---I---J (master)
/
A---B---C---D---E---F---G (dev)
со связанным ожидаемым результатом:
H'--I'--J' (master)
/
A---B---C---D---E---F---G (dev)
Надеемся, что здесь легче увидеть, что нам просто нужно перебазировать master
из этого нового D
вместо C
.