2016-05-23 3 views
0

Вот журнал сессии моей GitHub оболочки:Как решить эти ошибки

C:\Users\Igor\OneDrive\Documents\dbhandler_app [master +258 ~0 -0 | +85 ~23 -269 !]> git commit 
U  dbinterface/Debug/dbinterface.Build.CppClean.log 
U  dbinterface/Debug/dbinterface.log 
U  dbinterface/ReadMe.txt 
U  dbinterface/database.h 
U  dbinterface/dbinterface.sln 
U  dbinterface/dbinterface.vcxproj 
U  dbinterface/dbinterface.vcxproj.filters 
U  dbinterface/dbinterface.vcxproj.user 
U  dbinterface/stdafx.cpp 
U  dbinterface/stdafx.h 
U  dbinterface/targetver.h 
error: commit is not possible because you have unmerged files. 
hint: Fix them up in the work tree, and then use 'git add/rm <file>' 
hint: as appropriate to mark resolution and make a commit. 
fatal: Exiting because of an unresolved conflict. 
C:\Users\Igor\OneDrive\Documents\dbhandler_app [master +258 ~0 -0 | +85 ~23 -269 !]> git merge 
error: merge is not possible because you have unmerged files. 
hint: Fix them up in the work tree, and then use 'git add/rm <file>' 
hint: as appropriate to mark resolution and make a commit. 
fatal: Exiting because of an unresolved conflict. 
C:\Users\Igor\OneDrive\Documents\dbhandler_app [master +258 ~0 -0 | +85 ~23 -269 !]> git merge --no-commit 
error: merge is not possible because you have unmerged files. 
hint: Fix them up in the work tree, and then use 'git add/rm <file>' 
hint: as appropriate to mark resolution and make a commit. 
fatal: Exiting because of an unresolved conflict. 

Похоже, я не могу совершить, потому что я не сливались, но слияния также не удалось.

Итак, как мне его решить?

+0

В сообщении говорится очень четко: ** Закрепите их в дереве работ, а затем используйте git add/rm **. Не 'git merge',' git add' или 'git rm'. Каждый файл с 'U' рядом с ним должен быть отредактирован для разрешения конфликтов, а затем' git add'. – meagar

+0

@meagar, есть 2 файла в каталоге dbinterface/Debug. Могу ли я их исключить? Потому что они будут перезаписаны при каждой сборке во время разработки. Или мне придется исправить их, а затем добавить их в .gitignore? Спасибо. – Igor

ответ

1

Слияние - это просто фиксация с несколькими родителями. Конфликт слияния работает, как и любые другие незавершенные незавершенные работы. Любые файлы, которые были успешно объединены, уже будут поставлены (добавлены). Любые файлы, в которых слияние не удалось, не будут организованы; они будут частично объединены с маркерами (<<<<<), показывая конфликтующие линии. A git status покажет вам это и дадут вам инструкции.

Выполняйте то, что вы обычно делаете, чтобы закончить фиксацию: отредактируйте файлы, которые не установлены, чтобы исправить конфликты, и add. Когда вы добавили все, и ваши тесты пройдут, зафиксируйте.

Более подробную информацию можно найти в разделе Basic Branching and Merging раздела Pro Git.