1

古いリポジトリのフォークに git サブモジュールを追加したプロジェクトがあります。そのフォークを指すのではなく、代わりに元のリポジトリを指すようにサブモジュール参照を変更することにしました。

.gitmodules新しい参照を反映するようにファイルを編集して実行しましたが、効果がgit submodule initありgit submodule update --recursiveません。ここで手順が不足していますか?

4

1 に答える 1

2

neevek が言及 .git/configし、ドキュメントのgit config確認:

submodule..path サブモジュール..url サブモジュール..update

このプロジェクト内のパス、URL、およびサブモジュールの更新戦略。
これらの変数は、最初に によって入力されgit submodule initます。それらを編集して、ファイル内の URL やその他の値をオーバーライドし.gitmodulesます。

そう:

  • の値を変更する.gitmodulesだけでは十分ではありません ( の URL.git/configが優先されます)。
  • git submodule init、ドキュメントが言及しているように、既存の情報を変更しません.git/config(そして、コマンドが目に見える効果をもたらさなかった理由を説明しています)。
    次に、ローカル セットアップ用にサブモジュールのクローン URL をカスタマイズして、.git/configに進みますgit submodule update

個人的には、この URL の重複は少しわかりにくいと思います...

于 2013-03-05T07:45:19.093 に答える