IOS - git слияния конфликтов после добавления cocoapods для проекта
Я работаю над приложением с другим партнером. Он работал над мастером, и я начал новый филиал. На моей ветке я установил cocoapods
. Я просто попытался потянуться от мастера, и у меня возникли конфликты слияния.
Когда я открываю Xcode, файл рабочей области имеет ошибку, и он говорит:
"Workspace Integrity - Couldn't load project"
Как я могу решить этот конфликт слияния?
Ответы
Ответ 1
Когда git встречает конфликты слияния, он добавляет строки текста в конфликтующие файлы.
У них такие комментарии, как:
<<<<< HEAD
... your code from HEAD...
=========
... your code from the merge branch...
>>>>>> my_merged_branch_name
Эти строки отмечают, где git нужна помощь. Когда Xcode запускается в одну из этих строк в файле .pbxproj
, он не может открыть файл и выдает ошибку Workspace Inconsistency
.
Если вы просматриваете сообщения, полученные из git, они показывают, какие файлы имели конфликты слияния.
Чтобы устранить проблему:
-
Откройте каждый из этих файлов с помощью простого текстового редактора (я старая школа, поэтому я использую vi. Nano также будет работать. Просто убедитесь, что вы используете редактор кода, а не текстовый редактор, такой как TextEdit, который будет пытаться для изменения окончаний строки и т.д.)
-
Устраните конфликты, удалив строки комментариев, добавленные git, и решите, какие строки кода сохранить.
-
Затем скажите git, что вы разрешили конфликты:
git добавить.
-
и продолжить слияние.
Теперь Xcode сможет открыть ваш проект.
Ответ 2
Вот мои 2 цента.
Иногда даже после удаления всех >>>>
и =====
по-прежнему возникают те же ошибки.
- Очистите проект,
- Запустите
pod install
- Постройте проект
Это должно устранить остальные проблемы.
Ответ 3
Просто перезагрузите Xcode, и он должен построить тонкий
Ответ 4
Возможно, ваш проект .pbxproj уничтожен. если вы изменили проект project.pbxproj, вы должны проверить свой проект .pbxproj тщательно с помощью your.xcodeproj → show Содержимое пакета → project.pbxproj
Ответ 5
Еще один способ разрешить конфликты, когда вы не можете получить доступ к файлам рабочей области, это нажать ⌘
+ ⌥
+ c
и должен увидеть каждый отдельный конфликт, который приводит к ошибке "Workspace Integrity - Couldn't load project".
Если вы не уверены, что не так со стручками или Карфагеном; Вы можете щелкнуть правой кнопкой мыши на стручок/Карфаген и discard changes
. Позже вы можете обновить эти пакеты вручную.
Ответ 6
Скорее всего, у вас есть проблема с файлом project.pbxproj
, который находится внутри вашего ProjectName.xcodeproj
(щелкните правой кнопкой мыши, чтобы показать содержимое пакета).
Вы можете прочитать в github о схожей проблеме, а также найти решение "lint", которое вы можете попробовать.
Я думаю, что более быстрое решение - переместить HEAD
"назад" в git над каждым коммитом до тех пор, пока файл проекта не заработает, и как только он заработает, переместите коммит HEAD
1 "вперед" и увидите изменения в project.pbxproj
, вы вероятно, будут отсутствующие закрывающие/открывающие скобки или пропущенная точка с запятой.
Теперь, когда вы знаете, чего не хватает, перейдите к последнему коммиту и вручную исправьте файл project.pbxproj
с помощью простого средства просмотра текста.
Удачи.