Попытка объединить две ветви (одна очень старая, пытается получить главный код), но в каждом файле есть конфликты - PullRequest
0 голосов
/ 29 февраля 2012

конфликты даже не должны быть конфликтами ... большинство из них приведены в документации, которую я добавил, например, tihs:

<<<<<<< HEAD
  # returns the max_sequence for this section
=======
>>>>>>> merged with other_branch_that_isnt_master

команда, которую я сделал, была git pull --rebase origin master

но когда я просто делаю git pull origin master, я все равно получаю массу конфликтов повсюду.

Почему не происходит слияние должным образом? это как мерзавец отказался от жизни.

Как мне заставить git фактически объединить мои файлы?

Я использую git на Mac Lion.

1 Ответ

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

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

Один из вариантов - выполнить git merge и выполнить тяжелую ручную работу по устранению конфликтов.После слияния веток вам нужно будет выполнить работу только один раз.

Другой вариант - игнорировать все изменения в другой копии master и сделать вашу копию официальной.Это не рекомендуется, но это зависит от вашего варианта использования:

git fetch
git merge -s ours origin/master

Другой вариант - переписать и исправить историю коммитов, как предложил Дейв.Ниже приведена сводная информация:

  • Используйте gitk --all или git log --graph --all, чтобы визуализировать историю и увидеть, где разошлись ветви.
  • Используйте git reset --hard, чтобы перемотать историю для этого коммита
  • Сделайте git pull --rebase
  • git cherry-pick ваши возвращаются в историю перебазирования, надеемся минимизировать конфликты.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...