Ладно. Если я нахожусь в ветке (скажем working
), и я хочу объединить изменения из другой ветки (скажем master
), то я запускаю команду git-merge master
в working
ветке, и изменения объединяются без перезагрузки истории вообще. Если я бегу git-rebase master
, то изменения master
будут перенесены в верхнюю часть моей working
ветки. Но что, если я хочу объединить изменения, master
но переустановить свои изменения, working
чтобы они были наверху? Как я могу это сделать? Это можно сделать?
Я мог бы запустить git-rebase working
свою master
ветку, чтобы поместить свои изменения поверх master
ветки, но я бы хотел иметь возможность сделать это в своей working
ветке, и я понятия не имею, как это сделать. Ближайшее, что я могу придумать, - это создать новую ветку, master
а затем перенастроить working
изменения поверх нее , но тогда у меня будет новая ветка вместо изменения working
ветки.
источник
git rebase working
переместил быmaster
изменения (после точкиworking
ответвления), чтобы они были на вершинеworking
ветки - но это не очень разумная вещь, чтобы делатьmaster
:)Другой способ взглянуть на это - рассмотреть
git rebase master
как:Здесь '
master
' - восходящая ветвь, и это объясняет, почему во время перебазированияours
иtheirs
меняются местами .источник
git difftool
ужасных левых / правых. Вроде не по теме, ноdifftool
я придерживаюсь git-meld и люблю такие имена, как «working-dir», «stash @ {0}» и т. Д.git checkout branch_to_update git rebase master
я получаю в git log коммиты мастера поверх локальной ветки, а не наоборот?