После того, как Xcode обновился до версии 8.0 (8A218a), у меня возникла проблема с переносом изменений из репозитория git из Xcode только, когда некоторые файлы конфликтуют. Мы все работаем над одной ветвью.
Пока конфликтов нет, все работает отлично, и я могу совершать, тянуть и толкать.
Но я понял, что всякий раз, когда у нас есть конфликт в некоторых файлах, Xcode больше не показывает конфликты. Он просто закрывает всплывающее окно pull, не показывая окно разрешения конфликта. Нет информации или что-то еще. Я не вижу
Удалите
сообщение. И я не могу нажать мою фиксацию (потому что изменения не вытягиваются), получая сообщение:
Убедитесь, что все изменения были извлечены из удаленного репозитория и повторите попытку
Я попытался потянуть с помощью терминала, но конфликтующий файл перепутался с сообщениями git, отображающими мои и другие люди в одном конфликтующем файле по этим сообщениям git. И файлы, над которыми работали другие люди, теперь показаны как мои собственные изменения/дополнения.
Я также попробовал обновить git до последней версии, которая в настоящее время 2.10.0. Не повезло.
Итак, я в итоге удаляю свою копию и клонирую последнюю и повторно использую изменения, которые я сделал, что очень раздражает.
У кого-нибудь есть решение для этого?
EDIT: Вот что вы можете сделать как обходной путь с помощью терминала:
-
Откройте терминал и сообщите системе, в которой живут утилиты Xcode:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
-
Установите "opendiff" как глобальный метод mergetool по умолчанию:
git config --global merge.tool opendiff
-
Откройте Xcode mergetool вручную и избавитесь от конфликта обычным способом:
git mergetool
-
Сохранить изменения, зафиксировать, нажать.