Git-репо для фреймворка внутри локального git-проекта в Xcode 4 - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть проект iOS в Xcode 4, который использует Git. Теперь я хочу добавить фреймворк MKStoreKit в мой проект. Он уже находится под контролем версий с использованием Git и публичного репо. Я хотел бы включить его в свой проект и разрешить управлению версиями git моего проекта осуществлять контроль версий текущей версии MKStoreKit, сохраняя при этом возможность клонировать любой обновленный код MKStoreKit со стандартной легкостью git. Я вижу, что подмодуль или поддерево git, вероятно, то, что мне нужно, но это похоже на настоящую PITA. Не проще ли?

Пока что любой внешний код, который я добавляю в свой проект, я клонирую во временный каталог, а затем копирую отдельные файлы в свой проект. Это похоже на грязный способ делать вещи.

1 Ответ

1 голос
/ 28 сентября 2011

Ознакомьтесь с разделом подмодулей книги Git.Они не так уж и плохи.

Если у вас есть git-репозиторий и вы хотите добавить другой репозиторий в качестве подкаталога, вы можете сделать это:

git submodule add git://github.com/MugunthKumar/MKStoreKit.git mstorekit

Теперь у вас естькаталог "mstorekit" внутри вашего проекта, который на самом деле является хранилищем MStoreKit.Если кто-то клонирует ваш репозиторий, он начнет с пустой директории "mstorekit".Запуск:

git submodule init
git submodule update

Будет клонировать репозиторий MStoreKit.В конечном итоге они получат HEAD репозитория MStoreKit с тем же коммитом, который зафиксирован в вашем репозитории.

Обновление MStoreKit будет выглядеть так:

cd mstorekit
git pull origin master
cd ..
git ci -m 'updated mstorekit to latest version'

Есть некоторыеесть альтернативы, включая git-subtree , о котором я недавно упоминал здесь.У меня нет опыта работы с ним (хотя я был достаточно счастлив работать с подмодулями).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...