古いリポジトリのフォークに git サブモジュールを追加したプロジェクトがあります。そのフォークを指すのではなく、代わりに元のリポジトリを指すようにサブモジュール参照を変更することにしました。
.gitmodules
新しい参照を反映するようにファイルを編集して実行しましたが、効果がgit submodule init
ありgit submodule update --recursive
ません。ここで手順が不足していますか?
古いリポジトリのフォークに git サブモジュールを追加したプロジェクトがあります。そのフォークを指すのではなく、代わりに元のリポジトリを指すようにサブモジュール参照を変更することにしました。
.gitmodules
新しい参照を反映するようにファイルを編集して実行しましたが、効果がgit submodule init
ありgit submodule update --recursive
ません。ここで手順が不足していますか?
neevek が言及 .git/config
し、ドキュメントのgit config
確認:
submodule..path サブモジュール..url サブモジュール..update
このプロジェクト内のパス、URL、およびサブモジュールの更新戦略。
これらの変数は、最初に によって入力されgit submodule init
ます。それらを編集して、ファイル内の URL やその他の値をオーバーライドし.gitmodules
ます。
そう:
.gitmodules
だけでは十分ではありません ( の URL.git/config
が優先されます)。git submodule init
、ドキュメントが言及しているように、既存の情報を変更しません.git/config
(そして、コマンドが目に見える効果をもたらさなかった理由を説明しています)。.git/config
に進みますgit submodule update
。個人的には、この URL の重複は少しわかりにくいと思います...