Xcode удалить репозиторий из проекта
В моем проекте xcode есть два репозитория, перечисленных в меню "Управление источником". Один из них - это хранилище старого проекта и не должен ассоциироваться с текущим проектом. Однако я не могу понять, как удалить его из проекта.
ПРИМЕЧАНИЕ. Я уже удалил этот репозиторий из Organizer.
![Screenshot]()
Любая помощь будет принята с благодарностью.
Ответы
Ответ 1
Я сделал это, вручную отредактировав файл .xccheckout
.
Вот шаги, которые должны сработать для вас:
- закройте Xcode и создайте резервную копию вашего файла проекта.
- в Finder, щелкните правой кнопкой мыши файл проекта и выберите "Показать содержимое пакета"
- щелкните правой кнопкой мыши по файлу
project.xcworkspace
и выберите "Показать коннекты пакетов"
- в папке с именем
xcshareddata
существует файл с расширением .xccheckout
(он должен иметь то же имя, что и ваш основной файл проекта, но с расширением .xccheckout
)
- сделать резервную копию этого файла
- откройте файл
.xccheckout
в вашем любимом текстовом редакторе - это plist.
- найдите ключ
IDESourceControlProjectWCConfigurations
и найдите <dict>
, у которого есть имя репозитория, который вы хотите удалить.
- в том же
<dict>
есть ключ IDESourceControlWCCIdentifierKey
, значение которого содержит идентификатор, который выглядит как UUID - эта строка идентифицирует репозиторий.
- найдите весь файл для пар ключ/строка, у которых есть идентификатор в качестве ключа.
удалите все эти пары.
- удалите
<dict>
- сохранить файл
- откройте проект в Xcode и убедитесь, что все хорошо.
Если он все еще отображается, убедитесь, что ни один из файлов в вашем проекте не находится в каталоге старого репозитория (через абсолютную ссылку на файл). Вы можете исследовать это, открыв основной файл project.pbxproj
, который находится внутри вашего файла проекта.
Вы также можете проверить это, временно переименовав корневую папку (в Finder) старого репозитория, и если репозиторий больше не отображается в меню Source Control, тогда у вас есть файл в вашем проекте, который находится в этом старом репозитории.
Ответ 2
- Закрыть XCode.
- Открыть терминал.
- Перейдите в корневую директорию проекта.
- Введите
find ./ -name .svn -exec rm -rf {} \;
.
- Откройте проект.
Ваш проект должен быть отключен от всех репозиториев. Теперь вы можете подключить свой проект к нужному репозиторию через Source Control -> Configure Project
.
ПРИМЕЧАНИЕ: команда ищет все имена файлов с расширением .svn
и удаляет (рекурсивно и принудительно) все из них.
Ответ 3
Вам придется вручную удалить svn файлы из старого каталога. Это будет сделано с помощью команд svn. Вы можете найти команды ниже.
Как удалить элемент управления Subversion для папки?
Ответ 4
На самом деле, если вы начинаете Xcode без загрузки чего-либо, а затем проверяете новую копию своего проекта в новую папку рабочей области, информация о нерелевантном репозитории автоматически удаляется в локальной копии проекта.
Я также рекомендую вам перейти к Xcode → Source Control → % Repository% → Configure% ProjectName% и выбрать рабочую ветку на панели ветвей - просто чтобы убедиться, что места в папке ветки инициализирован. (После того, как вы нажмете кнопку "Готово", вы увидите пункт меню репозитория в меню "Управление исходным кодом", а подменю будет расширено, чтобы дать вам больше опций).
Тогда простой вопрос об этих изменениях Xcode вернулся в тот же репозиторий. Инструмент diff должен указывать строки XML из этого файла .xccheckout, которые изменились и не намного больше.
Ответ 5
У меня есть опыт работы с диалоговым окном после перехода на Source Control → Checkout, что я сделал, это просто удалить/изменить мою учетную запись.
Xcode → Предпочтения → Учетные записи → (выполните редактирование или удаление)
Я не уверен на 100%, что также исправляю ваши, но стоит попробовать. Кстати, я использую Xcode 6 beta.