2017-03-03 16 views
0

サブモジュールとして別のGitHubリポジトリを含むGitHubレポがあります。 --recursiveオプションを使用して親リポジトリをクローンします。サブリポジトリでgit statusを実行すると、Headから切り離されていることがわかります。特定の前回のコミットに「結びついている」。私はその後、サブレポのマスターブランチをチェックアウトし、それによってヘッドに再び取り付けます。Gitサブモジュールを修正してヘッドに接続する方法

ここで、問題は次のとおりです。複製を実行した後、サブモジュールがすでにHEADに接続されている(チェックアウト手順は必要ない)ように変更することは可能ですか?

答えて

1

これは、サブモジュールの実装方法ではありません。親レポでは、依存しているサブモジュールの特定のコミット(SHA-1経由)を定義します。したがって、親リポジトリをクローンすると、定義したコミットと互換性があります。あなたの親がサブモジュールの新しいコミットに依存することを望むたびに、あなたは手動でそれを伝えてこれをコミットする必要があります。これはまた、あなたがあまり頻繁に更新する必要のない誰かのelsesリポジトリに依存する場合、サブモジュールがうまくいくかもしれない理由ですが、両方のプロジェクトを同時に自分で開発すると私の意見ではほとんど役に立たないです。

+0

@ Vampireありがとうございます。私は学んでいます。このような状況でどのようなテクニックを使用しますか? 2人の親がそれぞれ同じサブを必要とするなど、すべて私のものです。 – Verticon

+0

私はそれをまだ必要としなかったので、私はこれをまだ決める必要はないという幸せな状況にあります。しかし、https://jk.gs/git/bot/trigger.phpに行き、 '!subprojects'を検索することで、私たちがIRCチャンネルの人々に何を伝えるのかを読むことができます。そこでの可能性の他に、共通プロジェクトからの成果物を構築し、親リポジトリからバイナリ依存関係を追加することも考えられます。 Javaを開発し、ビルドツールとしてGradleを使用する場合は、共通プロジェクトのチェックアウト状態の複合ビルドを使用してバイナリ依存関係を置き換えることもできます。 – Vampire

関連する問題