Обновите устаревшую ветку против master в Git-репо - PullRequest
113 голосов
/ 23 января 2012

У меня есть Git-репозиторий с веткой (локальной и удаленной), которая устарела. Я хотел бы привести эту ветку в соответствие с основной веткой, но я не знаю, как это сделать. Также вероятно будет много конфликтов слияния.

Как я могу перевести или обновить эту устаревшую ветку в то же состояние, что и основная ветвь?

1 Ответ

140 голосов
/ 23 января 2012

Обновите основную ветку, что вам нужно сделать независимо.

Затем один из:

  1. Перебазировать старую ветку против главной ветки. Решите конфликты слияния во время перебазирования, и в результате будет обновленная ветвь, которая сливается чисто с master.

  2. Слияние вашей ветви с мастером и разрешение конфликтов слияния.

  3. Слияние мастера с вашей веткой и разрешение конфликтов слияния. Тогда слияние из вашей ветки в master должно быть чистым.

Ничто из этого не лучше другого, у них просто разные схемы компромисса.

Я бы использовал подход rebase, который, на мой взгляд, дает более чистые общие результаты более поздним читателям, но это не что иное, как личный вкус.

Чтобы перебазировать и сохранить ветку, вы должны:

git checkout <branch> && git rebase <target>

В вашем случае проверьте старую ветку, затем

git rebase master 

чтобы восстановить его против хозяина.

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