Ветвь разошлась, потому что кто-то нажал коммиты на эту удаленную ветку, а затем вы извлекли их, когда вы git fetch
Если это просто ускоренная перемотка вперед, вы можете сделать:
git fetch
git rebase origin/master
или git pull --rebase
, но я предпочитаю выборку и перебазировку в отдельных шагах.
Они оба переместятся вперед и применят ваши локальные изменения в верхней части ветви.
Если вы ответили на ветвь с той же удаленной ветки и выполняете ребазинг, ребаз:
- откладывает все ваши локальные коммиты с вашего последнего перебазирования или ветвления
- быстрая перемотка ветки в соответствии с удаленной веткой
- применяет ваши локальные коммиты один за другим. Если есть конфликты, они объединяются. Если они не могут быть объединены, вы должны отредактировать их вручную.
Таким образом, ребаз не испортит ситуацию. Когда я слежу за удаленной веткой, которая активно редактируется, и у меня есть несколько коммитов, я предпочитаю перебазировать, чтобы все мои изменения были в верхней части списка коммитов.