2016-08-26 2 views
3

gitリポジトリにgitで管理されているiOSスタンドアロンプ​​ロジェクトがあります。
このコードでは、ライブラリーとして動作させるためにスタンドアロンコードから若干の変更を加えたiosダイナミックライブラリーを作成しています。プロジェクトと、このプロジェクトで作られた動的フレームワークを1つのgitリポジトリで管理します。

私は2つの異なるコードベースを管理しなければなりません。スタンドアロンプ​​ロジェクトで変更を加えるたびに、動的ライブラリの変更が失われることがあります。

スタンドアロンプ​​ロジェクトとダイナミックライブラリの共通コードを共通リポジトリから管理することは可能ですか、それを行う正しい方法はありますか?

スタンドアロンプ​​ロジェクトとしてフレームワークを簡単に実行してデバッグすることができないため、スタンドアロンプ​​ロジェクトを個別に管理する必要があります。

答えて

5

スタンドアロンプ​​ロジェクトがダイナミックライブラリプロジェクトのサブフォルダに存在する場合は、​​3210を使用して、最初のプロジェクトのSHA1を2番目のプロジェクトに参照できます。

git submodule add [email protected]:AFNetworking/AFNetworking.git Vendor/AFNetworking 

あなたがそのサブフォルダに何かを変更するたびに、あなたがコミットし、いつものようにプッシュし、また、あなたのメインプロジェクト(ダイナミック1)に戻って、追加、コミットし、あなたの新しいSHA1を記録するためにプッシュすることができますサブモジュール。

他のアプローチは、(tutorialを参照して、illustrated hereとして)subtreeを使用することであろう。

git subtree add --prefix=Vendor/AFNetworking --squash [email protected]:AFNetworking/AFNetworking.git master 

私は最初のアプローチを好むが、あなたは、両方がIOS project in this article

の文脈で使用さ見ることができます
関連する問題