Добрый день, не получается заребейсить:
git shrebase master lalala
Пишет:
Current branch lalala is up to date.
Но в ветви lalala есть последний коммит, которого нет в master.
Прошу помощи разобраться.
Добрый день, не получается заребейсить:
git shrebase master lalala
Пишет:
Current branch lalala is up to date.
Но в ветви lalala есть последний коммит, которого нет в master.
Прошу помощи разобраться.
Команда rebase как бы переставляет текущую ветку на целевую, а точнее на ее последний коммит.
Поскольку последний коммит master уже есть в ветке lalala, то переставлять некуда — в этом смысле ветка lalala актуальна, "up to date".
A - B - C (master)
\
D (lalala)
master?Если вы хотите, чтобы коммит из lalala попал в master, то нужно работать не с lalala, а с master. Проще всего переключиться туда и замержить ветку с нужным коммитом:
git checkout master
git merge lalala
Результат:
A - B - C - D (master, lalala)
rebase все-таки будет переставлять ветку lalala?Когда головной коммит ветки master не принадлежит ветке lalala. Например:
# было:
A - B - C - X (master)
\
D - E (lalala)
$ git checkout lalala
$ git rebase master
# стало:
A - B - C - X (master)
\
D' - E' (lalala)
В результате вся ветка будет «переставлена» на коммит X. Каждый из коммитов этой ветки, которого нет в master, будет пересоздан:
D является X, а не C — появляется коммит D'E является D', а не D – появляется коммит E'