Открытый источник сделал серьезное обновление, и я не могу объединить - PullRequest
0 голосов
/ 31 марта 2012

Итак, у меня есть разветвление проекта на Github (http://www.github.com/intridea/grape),, и они произвели значительное слияние ветки (frontier -> master). Это выглядит как rebase.

Когда язайдите в мой форк и запустите git rebase upstream / master, я получаю конфликт слияния. Я не уверен, почему, но он терпит неудачу в README. Я не делал никаких коммитов в readme.

Что должноЯ делаю так, чтобы мой мастер был в курсе событий, не разрушая ни одной из моих ветвей вил?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2012

Если восходящий поток перебазировал ветвь (большое нет-нет), конфликт, вероятно, возник из-за восходящего коммита перед перебазированием (который изменился README), объединенного с восходящим коммитом после перебазировки (который также изменился README).

Если вы не сделали никаких коммитов в своем локальном репозитории, вы можете просто git reset --hard @{u} заставить свой локальный филиал соответствовать ветке апстрима.

Если вы сделали коммиты, и ветка upstream была перебазирована, тогда исправление очень сложное и зависит от состояния вашего репозитория.(Вот почему грубо перебазировать коммиты, которые уже были переданы другим.) Для получения общей справки см. Раздел «Восстановление из исходной ребазы» в git help rebase.

0 голосов
/ 31 марта 2012

Я понял из вашего комментария, что у вас нет собственных коммитов в ветке master, которые вы должны хранить.В этом случае вы можете просто git fetch все удаленные коммиты и затем указать master заголовок на правильный хеш.Либо используйте git reset <hash>, либо просто отредактируйте файл .git/ref/heads/master вручную.

Вы можете потерять возможность отменять изменения веток на master и выполнять ff-слияние, но всегда есть регулярное слияние.

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