Почему TortoiseGit "Редактировать конфликты" показывает все строки как конфликтующие
Когда я перебирал мою ветку функций на текущее состояние источника / мастера, Git уведомлял меня о конфликтах:
CONFLICT (directory/file): There is a directory with name modules/mod_name/shared/miniball in HEAD. Adding modules/mod_name/shared/miniball as modules/mod_name/shared/miniball~Poly-PS+Poly-Approx Arbeitsstand 01.07.2018
Auto-merging modules/mod_name/mod_nameExt.h
CONFLICT (add/add): Merge conflict in modules/mod_name/mod_nameExt.h
Auto-merging modules/mod_name/mod_name.vcxproj
CONFLICT (add/add): Merge conflict in modules/mod_name/mod_name.vcxproj
Auto-merging modules/mod_name/mod_name.h
CONFLICT (add/add): Merge conflict in modules/mod_name/mod_name.h
Auto-merging modules/mod_name/mod_name.cpp
CONFLICT (add/add): Merge conflict in modules/mod_name/mod_name.cpp
Auto-merging modules/mod_name/ModuleVersion.h
CONFLICT (add/add): Merge conflict in modules/mod_name/ModuleVersion.h
Auto-merging modules/mod_name/Intern/pgen.h
CONFLICT (add/add): Merge conflict in modules/mod_name/Intern/pgen.h
Auto-merging modules/mod_name/Intern/pgen.cpp
CONFLICT (add/add): Merge conflict in modules/mod_name/Intern/pgen.cpp
Auto-merging modules/mod_name/Intern/ChainGenerator.h
CONFLICT (add/add): Merge conflict in modules/mod_name/Intern/ChainGenerator.h
Auto-merging modules/mod_name/Intern/ChainGenerator.cpp
CONFLICT (add/add): Merge conflict in modules/mod_name/Intern/ChainGenerator.cpp
Patch failed at 0008 Poly-PS+Poly-Approx Arbeitsstand 01.07.2018
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
При открытии файла chaingenerator.cpp
в диалоговом окне конфликтов редактирования TortoiseGit он показывает каждую строку файла как конфликтующую, даже те, которые явно похожи.
Рабочий процесс до ребазирования был примерно следующим
git checkout master
git branch Dev_PolyApproxIntegration
git checkout Dev_PolyApproxIntegration
... <Editing&Commiting in Dev_PolyApproxIntegration> ...
... <Somebody pushing commits into master>
git branch Dev_PolyApproxIntegration_Rebase29_01
git checkout Dev_PolyApproxIntegration_Rebase29_01
git pull origin master
git rebase master
Я не понимаю, почему Git не может обработать (ожидаемые) конфликты, которые могли возникнуть из-за того, что кто-то совершает коммиты в master. Я создал временную ветвь (...rebase29_01), потому что в прошлом я был сожжен той же самой процедурой (и ошибками), и хотел иметь "заведомо исправную" ветвь, к которой можно вернуться, если что-то не получится. В противном случае, мои команды должны были быть в значительной степени учебными материалами ИМХО. Есть ли проблемы с тем, как я выполняю рабочий процесс? Это кто-то совершает, кто сломал вещи для меня? Я понятия не имею, что они сделали.
Кроме того, как мне идти отсюда? Слияние всех различий в файлах вручную невозможно.
0 ответов
Только что выяснил, в чем проблема. Инструмент слияния показывает конфликты на основе маркеров конфликтов, установленных с помощью git merge.