Почему слияние вместо быстрой перемотки вперед? - PullRequest
0 голосов
/ 14 февраля 2012

Я только что совершил несколько новых изменений.
Затем я сделал git fetch тогда git merge origin/master HEAD был быстро переадресован.

Я продолжаю добавлять еще 3 коммита.
Затем я повторяю процесс git fetch и git merge origin/master.
На этот раз было выполнено слияние.

Итак, я сделал git reset --soft HEAD^

Теперь вернемся к сцене, прежде чем я сливаюсь.
Я проверил, что измененные файлы (git status) отличаются от моих локальных коммитов. Но его высказывание

On branch master  
Your branch and 'origin/master' have diverged,  
and have 3 and 1 different commit(s) each, respectively.

Я считаю, что слияние происходит потому, что ветвь разошлась.

Почему ветвь разошлась?

Можно ли выполнить ребазинг (как при ускоренной перемотке вперед), если я не хочу слияния?

Ответы [ 2 ]

2 голосов
/ 14 февраля 2012

Ветвь расходится, потому что кто-то внес изменения в пульт.Если вы сделаете

git pull --rebase

, это перебьет вашу работу за расхождение и даст вам то, что вы хотите.

0 голосов
/ 14 февраля 2012

Ветвь разошлась, потому что кто-то нажал коммиты на эту удаленную ветку, а затем вы извлекли их, когда вы git fetch

Если это просто ускоренная перемотка вперед, вы можете сделать:

git fetch
git rebase origin/master

или git pull --rebase, но я предпочитаю выборку и перебазировку в отдельных шагах.

Они оба переместятся вперед и применят ваши локальные изменения в верхней части ветви.

Если вы ответили на ветвь с той же удаленной ветки и выполняете ребазинг, ребаз:

  • откладывает все ваши локальные коммиты с вашего последнего перебазирования или ветвления
  • быстрая перемотка ветки в соответствии с удаленной веткой
  • применяет ваши локальные коммиты один за другим. Если есть конфликты, они объединяются. Если они не могут быть объединены, вы должны отредактировать их вручную.

Таким образом, ребаз не испортит ситуацию. Когда я слежу за удаленной веткой, которая активно редактируется, и у меня есть несколько коммитов, я предпочитаю перебазировать, чтобы все мои изменения были в верхней части списка коммитов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...