2009-11-05 2 views
3

Итак, у меня есть моя главная ветка, а также ветка «bob».Git объединить и разрешить любые конфликты с текущим филиалом

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

Я рекомендовал следующее:

git checkout bob 
git merge master -s ours 

Это не работает, потому что я даже не получить изменения от мастера, которые не конфликтуют.

, пожалуйста, помогите!

+1

Стратегия слияния 'ours' означает получить ** версию ** из нашей ветви, а не ** разрешать конфликты ** в пользу нашего филиала. –

ответ

1

Во-первых, вам необходимо объединить все изменения от мастера к боб:

  • все модификации от мастера должны быть добавлены к Бобу, если нет конфликта
  • любой конфликт должен быть решен путем поддержания содержания боб филиал.

Вопрос «How do I tell git to always select my local version for conflicted merges on a specific file?» объясняет, как это сделать, с помощью слияния.

После слияния было сделано, просто:

git checkout master 
git rebase bob 

позволяет ГОЛОВЕ мастера для быстрой перемотки вперед к одной из боба. Учитель продолжит оттуда содержание боба.

+0

Я знаю: я уже упоминал драйвер слияния в своем предыдущем ответе на ваш первый вопрос, но он соответствует вашим текущим потребностям. – VonC

+0

Использование слияния-драйвера похоже на большую работу. Я бы подумал, что будет какая-то простая команда для чего-то подобного. Где я могу найти хороший тотуриал для слияния драйверов? – tybro0103

0

Я вижу разрыв с ours стратегия слияния. Если интегрировать свой собственный драйвер слияния слишком много, и если вам нравится Emacs, подумайте об использовании ediff как своего «инструмента слияния». Вы можете сказать «предпочитаете» свои вклады в конфликты. Кроме того, чтобы сосредоточиться только на конфликтующих изменениях, вы можете просмотреть результат слияния до совершения, просто чтобы убедиться, что только ваши вклады по-прежнему приводят к созданию согласованного файла.

К сожалению, ediff еще не включен в качестве поддерживаемого инструмента для слияния. This thread в списке рассылки git с июня 2007 года описывает некоторые проблемы интеграции. Here - другой.

Git делает корабль со встроенной поддержкой возникают, другой режим слияния Emacs, но я пока предпочитаю Ediff.