2012-11-06 4 views
5

私は図書館や様々なアプリケーションからなるプロジェクトを持っています。git submodule functionality with sibling?</p> <pre><code>foo/ foolib/ bar/ baz/ qux/foo/ </code></pre> <p>アプリケーションのすべてが<em>foolib</em>、静的ライブラリにリンク:

私はGitがfoolibはにあった、ともfoolibでコミットされていない変更がある場合は、報告するfooというgitのステータスどこのSHA1 IDを記録するためにFOOをコミットしたいと思います。

しかし、私はfoolibのコピーをすべてのアプリケーションのサブディレクトリとして持っています。膨らんでいるだけでなく、変更をコミットせずに複数のアプリケーションでfoolibにいくつかの変更を試すことができなくなります。

私は../foolibを指し示す.gitmodulesファイルを作成しようとしましたが、完全に無視されているようです。git status。私も試してみたfoolibソフトリンク内fooしかし、gitはリンクをたどる代わりにソフトリンクをファイルとして扱うようです。

私は可能なのですか、代替のワークフローソリューションがありますか?

私の公開リポジトリでは、構造は同じであり、各アプリケーション(およびfoolib)は一般から個別に複製されています。あなたが親プロジェクトappProjectsが代わりに呼び出す場合

  • foo
  • foolib

(:

答えて

1

アイデアはサブモジュールとして宣言しレポfooProjectを作成することですfooProjectの場合、すべてのサブディレクトリをサブモジュールとして宣言できます。foofoolibbarbaz、...)

サブディレクトリ(fooまたはfoolib)の変更や新しいコミットをした場合、あなたが戻って親レポに戻り、同様コミットは、へ順に異なるサブモジュールのSHA1を記録する。

関連する問題