2015-03-02 2 views
0

Когда я работал над набором изменений в проекте GitHub, кто-то еще отправил свой собственный запрос на Pull и включил их изменения в проект.
После того как я совершил все свои правки вилки проекта, а затем вошел:GitHub: git pull конфликты, как вы разрешаете «слияние»?

$ git pull upstream master 

- обеспечить мои собственные локальные файлы были обновлены до последней версии на проекте, мерзавец жаловался КОНФЛИКТЫ и безмятежных файлов.
Сравнивая результат с тем, что я имел (я держу копии, потому что я не доверяю Git вообще), я вижу это ...

<<<<<<< HEAD 
     True if we are in the middle of sending a multi-part message. 
======= 
     True if we are in the middle of sending a multipart message. 
>>>>>>> e7be4d5a6cbfa6a541f393935a612d12fa58fcb5 

(та часть после слова «True» является фактическая строка, которую я редактировал).

Как я должен интерпретировать этот раздел?

Теперь, если я попытаюсь снова потянет, Git отвечает:

Pull is not possible because you have unmerged files. 

Как решить это? Это то, что «git rm <file>» предназначено для - удаления моего, вытащить текущую версию, а затем слить обратно в мои собственные изменения?

Как узнать, какие файлы "не загружены"?

+0

Вы заметили разницу в несколько частей и разницу? Сохраните нужную строку и удалите указатели и линию, которой нет. Добавить, зафиксировать и нажать. –

+2

1) Вы должны действительно просмотреть свои сообщения, чтобы убедиться, что они выглядят правильно; то, что вы опубликовали, полностью отформатировано. 2) Googling «git how to solve merge» приводит к [this] (https://help.github.com/articles/resolving-a-merge-conflict-from-the-command-line/) в качестве первого результата. Git - чрезвычайно широко используемый инструмент; есть тонны и тонны учебных пособий и статей. –

+0

Возможный дубликат [Fix merge conflict in Git?] (Http://stackoverflow.com/questions/161813/fix-merge-conflicts-in-git) – nwinkler

ответ

1

Как посмотреть, какие файлы являются «без проблем»?

Как обычно: git status: искать строки с упоминанием both modified.
Подробнее с «Resolving a merge conflict from the command line»

<<<<, === и >>>> являются сливаться маркеры или маркеры конфликтов в пострадавших районах.
Зона, обозначенная конфликтом, начинается с <<<<<<< и заканчивается на >>>>>>>.
Два конфликтующих блока делятся на =======.

После того как вы отредактировали файл, оставив только ту версию, которую хотите сохранить, добавить, зафиксировать и сделать git status для дальнейшей инструкции.

Смежные вопросы