2011-07-08 10 views

答えて

51

ファイル.gitmodulesを編集してから(コミットしてプッシュする)、新しいクローンに適しています。サブモジュールが初期化されるとき

さらに、(例えばgit submodule init …git submodule update --init …、又はgit clone --recursive …、等)、そのURLはリポジトリの.git/configファイルに.gitmodulesファイルからコピーされます。あなたはどの既存「展開クローン」(あなたが今git://…のURLを通じてサブモジュールにアクセスできるようにするもの)を持っている場合

だから、あなたも自分の.git/configにURLを更新する必要があります。 git submodule syncを使用すると、現在の.gitmodulesファイルのサブモジュールURLを.git/configファイルに自動的にコピーできます(つまり、.gitmodulesファイルを更新するコミットを取得すると)。

.git/configのサブモジュールURLは、特定の状況でURLを上書きしたい場合があるため、通常は自動的に更新されません。具体的には、多くの場合、.git/configのURLに[email protected]のURLを使用する(SSHをプッシュオーバーできる)が、git://…のURLを.gitmodulesに入れて(一般のユーザーはSSHベースの認証を行う必要はない)。

+0

このシナリオでは、同期が必要です。 – Alexy

+0

git submodule syncが仕事をしました!ありがとう! –

+0

価格の高い答え:) – emjay

0

私は同様の問題を経験しました。グーグルで調べたところ、私はこの記事をつまずきました:Relative URL for Git submodule.gitsubmoduleファイルを誰がチェックアウトしても手動で変更する必要はないので、私はそれに従うのが良い方法だとわかりました。おそらくあなたのケースにも当てはまります。

関連する問題