Простой ребаз от мастера с magit?

11

Я только что обновился до последней версии Magit, используя старую версию годами. Все улучшения хороши после небольшого поиска и выяснения различий.

Сейчас я просто пытаюсь выполнить простейшую (неинтерактивную) перезагрузку magitи не могу понять, как это сделать. Этот пример от https://git-scm.com/docs/git-rebase .

git checkout topic
git rebase master
  1. Ударил r
  2. ?
  3. Моя ветка темы перебазирована с последними изменениями от мастера.
Эндрю Гуднох
источник
3
Выберите «в другом месте», (нажмите «е»), затем оттуда выберите «мастер». Просто чтобы убедиться: вы будете перебазировать свою ветку "тема" на мастера (не от ). На средствах Git будет искать младший общий предок «хозяина» и «тему», а затем работать на фиксациях в «теме» , чтобы применить к ним изменениям в «хозяине». В конце концов, «мастер» останется неизменным, но «тема» будет включать в себя изменения от «мастера» (я пишу это в надежде предотвратить ошибку, то есть если вы думали, что перебазировка от мастера будет делать противоположное).
wvxvw
2
Обратите внимание, что если вы установите восходящий поток для своей ветви - вы можете набирать, bа затем uмногократно циклически проходить через известные опции ( origin/masterкак правило) - это станет вариантом по умолчанию, на который необходимо выполнить переход (через r u).
phils
3
Вы должны прочитать magit.vc/manual/magit/Rebasing.html
phils
Спасибо за комментарии. Это все прояснило для меня. Я прочитал страницу Rebasing от Magit, но раньше это не имело смысла. Я думаю, что слово «на» было проблемой. Сейчас я использую 'r', затем 'e', ​​чтобы объединить последние записи от мастера, но знание того, как настроить мой апстрим с помощью 'b', 'u' также помогло.
Эндрю Гуднох
@wvxvw, не могли бы вы превратить этот комментарий в ответ?
tarsius

Ответы:

16
  1. Нажмите r (перебазировать) в буфере статуса Magit. Это покажет всплывающий буфер с большим количеством опций.
  2. Нажмите e (в другом месте), чтобы начать перебазирование в другой ветке.
  3. Выберите ответвление, ответив на приглашение (примечание: выбранная ветвь не изменена, текущая ветвь изменена) .
  4. Процесс перебазирования начнется, и теперь у вас будет больше опций в меню перебазирования: rпродолжить (после разрешения конфликтов) , aпрервать (весь процесс перебазировки будет перемотан до перебазирования) и sпропустить (например, Git запутывается когда ваш коммит не вносит каких-либо изменений, что может произойти, когда ваша текущая ветвь и целевая ветвь добавят одинаковые изменения) .
  5. Ваши коммиты будут применены к коммитам в целевой ветке. Если они не применяются гладко, вам будет показан прогресс и конфликты в буфере статуса Magit.
wvxvw
источник