Использование Git с существующим проектом Xcode

113

Я пытаюсь понять, как использовать git в рабочем процессе моего проекта, и у меня есть существующий проект Xcode, который я хочу поместить в репозиторий. Я думаю, что репозиторий настроен правильно в органайзере, но меню «Управление исходным кодом» неактивно.
По-видимому, это легко сделать, если вы начнете новый проект, но как мне импортировать существующий проект со снимками и всем остальным?

Я использую Xcode 4 и git 1.7.4

Кроме того, было бы неплохо, если есть какие-либо хорошие пошаговые инструкции по настройке и передовым методам git. Я немного опаздываю в игру, так что все, что может помочь мне ускориться, было бы круто.

AndyD273
источник

Ответы:

169

На сайте help.github.com у GitHub есть несколько очень хороших руководств по git .

чтобы выполнить первоначальную настройку репозитория, откройте окно терминала и компакт-диск в каталог проекта. оказавшись там, введите

git init
git add .
git commit -m "Initial commit"

Перезапустите Xcode. Теперь репозиторий должен быть настроен, и вы сможете управлять им в xcode 4.

MCannon
источник
4
Где немного о добавлении файла .gitignore, чтобы не добавлять все каталоги сборки и прочую чушь в качестве отслеживаемых файлов ???
Fraggle
7
Этот метод добавит в репозиторий .xcuserstate и другие метаданные, которые не должны контролироваться версиями. Я предлагаю вам сначала создать .gitignore в папке вашего проекта и перечислить эти типы файлов метаданных, прежде чем запускать «git add.».
kakyo
У меня вообще не получилось. Xcode никогда не распознает это как репо.
Джонни
Я использую Xcode 11. Я смог добавить локальный репозиторий git в существующий проект, просто выполнив Source Control, Commit, а затем выполнив свою первую фиксацию. Это создало .git папку и т.д. (Нет необходимости для git init, git add .и git commit -m.)
Джефф
103

Xcode 7 (и 8)

Если вы начинаете новый проект, вы бы просто отметили Создать репозиторий Git во время установки. (Затем перейдите к части "Фиксация" ниже.)

введите описание изображения здесь

Но если вы работаете с существующим проектом, перейдите в Xcode > Preferences ... > Source Control и установите флажок Enable Source Control .

введите описание изображения здесь

Затем в главном Control Source меню выберите Создать рабочую копию ... .

введите описание изображения здесь

(Если вы получаете сообщение об ошибке «Скажите, кто вы?», См. Этот вопрос / ответ или один из других связанных вопросов.)

Когда это закончится, внесите какие-либо изменения в один из файлов проекта Xcode. Затем вернитесь в меню Source Control и выберите Commit .

введите описание изображения здесь

Напишите сообщение о фиксации и нажмите кнопку « Применить» . (Если кнопка фиксации отключена, внесите небольшие изменения в свой проект и повторите попытку.)

введите описание изображения здесь

Войдите в Github и создайте новый репозиторий .

введите описание изображения здесь

Называйте это как хотите, но пока не добавляйте README, .gitignore или лицензию. Вы можете добавить это позже. Выполнение этого сейчас затруднит синхронизацию.

введите описание изображения здесь

Скопируйте ссылку в свой репозиторий.

введите описание изображения здесь

Перейдите в Source Control > название вашей ветки > Настроить .

введите описание изображения здесь

Щелкните вкладку « Пульты »> кнопка « + »> « Добавить удаленный…» .

введите описание изображения здесь

Введите имя репозитория github и вставьте адрес.

введите описание изображения здесь

После добавления пульта нажмите « Push» в меню « Source Control» . Введите свое имя пользователя и пароль на github. Вот и все. Теперь ваш проект нужно скопировать на github.

( У меня были некоторые проблемы при получении мое имя пользователя и пароль , принятый в первом. Если это случается , вы идете в Xcode > Preferences ... > Учетные записи > ваш новый репозиторий . Введите имя пользователя и пароль , там , а затем попробуйте Нажмите еще раз).

введите описание изображения здесь

Вы можете добавить README и другие файлы, но если вы делаете это из Интернета, вам нужно будет выполнить Source Control > Pull in Xcode, прежде чем вы подтвердите другие изменения.

Теперь каждый раз, когда вы вносите изменения в Xcode, все, что вам нужно сделать, это зафиксировать и нажать .

Я научился этому методу в основном отсюда .

Смотрите также

Suragch
источник
на сегодняшний день это самое простое решение. Можете ли вы сказать мне, что это означает, когда вы добавляете репо в xcode> настройки> учетные записи> добавить репо?
AceN
@AceNeerav, это позволяет вам хранить свои учетные данные для другого репо, которое у вас есть, чтобы вам не приходилось вводить их каждый раз. См. Эту документацию для получения более подробной информации.
Suragch
Отличное решение. СОВЕТ: Bitbucket - это бесплатная альтернатива github для небольших проектов. Вы платите, как только проект становится большим.
steve-o
1
@ steve-o, GitLab - тоже хорошая альтернатива. Это позволяет бесплатно создавать частные репозитории. Мне удалось настроить Xcode для использования так же, как и в моем ответе выше.
Suragch
спасибо, следуя URL-адресу, я могу сделать это сам, еще раз большое спасибо
Дилип Тивари
44

Я только что проделал это для нескольких проектов и столкнулся с некоторыми проблемами. Вот мой процесс, в основном собранный из других ответов на этой странице / сайте. Порядок здесь очень важен

  1. Откройте терминал и перейдите в каталог, содержащий файл .xcodeproj.
  2. git init
  3. В Finder войдите во вновь созданную папку .git (в том же каталоге, что и файл .xcodeproj). Найдите информацию / исключите, откройте и добавьте эти строки, .DS_Store и xcuserdata /
  4. Не уверен, что это необходимо, но я использовал терминал для cp info / exclude в файл .gitignore
  5. git add.
  6. git commit -m "Начальная фиксация"
  7. Теперь, чтобы получить XCode, чтобы увидеть репо. В органайзере проекта сначала нужно удалить проект на вкладке "Проекты". Затем просто повторно откройте проект, чтобы вернуть его. Это обнаружит только что созданный репозиторий GIT
  8. На вкладке репозиториев органайзера я затем перехожу к основной ветке / переключаюсь на ту версию, над которой я работаю.

Надеюсь, это поможет кому-то, не будучи слишком избыточным. То, что сейчас кажется простым, определенно было проблемой для новичка в GIT с существующими проектами.

nuclearnova
источник
2
Спасибо за обмен вашего опыта! Шаг за шагом отлично.
AndyD273 03
Отличный шаг за шагом, очень полезно для кого-то вроде меня, кто еще не знаком с git.
Николас Миари
1
Для меня с 4.6.2 шаг 7 не нужен. Спасибо!
cloudsurfin
Я не могу объяснить, насколько это было полезно! шаг 7 помог даже с последним Xcode!
Zephyer
Как я узнал, следуя приведенным выше шагам и некоторым другим сообщениям и опыту svn. Вы можете создать файл .gitignore для Xcode. Список элементов, которые следует игнорировать, можно найти на GitHub github.com/github/gitignore/blob/master/Global/Xcode.gitignore
Бхавеш
10

Ознакомьтесь с моей публикацией по этой теме Настройка репозитория git в XCode для уже существующего проекта . Вышеупомянутое верно, но оно будет включать UserInterfaceState в ваши изменения при фиксации, и это может раздражать, потому что этот файл обновляется каждый раз, когда вы делаете что-либо в xcode, даже если это так просто и перемещается по файлам или папкам в вашем проекте.

детеныш
источник
1

если ваш XCODE 7 не подключается к существующему репозиторию GIT. Попробуйте следовать

xcrun git config --global user.email your@email.com
xcrun git config --global user.name "your name"
Рам Г.
источник
0

Note:Specially for Xcode 11

CD в ​​каталог проекта с помощью терминала

git init

git add.

git commit -m "Начальная фиксация"

После этого перезапустите Xcode и выберите Source Control Navigator, затем выберите мастер и щелкните правой кнопкой мыши, затем выберите вариант «Create Remote»

Викрам Синха
источник