2

サブモジュールとして別のリポジトリを持つgitリポジトリがあります。サブモジュールは、このプロジェクトでのみ使用されます。サブリポジトリで変更をコミットしましたが、親リポジトリはまだ古いリビジョンを参照しています(サブプロジェクトコミット989471 .....など)。

親リポジトリを更新して、サブリポジトリの最新バージョンを指すようにするにはどうすればよいですか。サブリポジトリを変更しても同期が保たれるように、これを行うためのより良い方法はありますか?

4

1 に答える 1

3

サブモジュールでコミットした後、ディレクトリを親リポジトリに変更し、次の手順を実行します。

git add path/to/submodule

変更をコミットします。これにより、追跡されたコミットIDが更新されます。サブモジュール内のすべての(グループの)コミットに対してこれを行う必要があります。

親ディレクトリの状態が子リポジトリの特定の状態に依存する可能性があるため、これは実際には非常に合理的です(たとえば、プログラムのライブラリをバンドルする場合、コンパイルを機能させるには特定のバージョンが必要になる場合があります)。指定されたブランチのHEADを盲目的にチェックアウトするのではなく、親リポジトリでコミットされたサブモジュールを追跡するのが賢明な理由。

于 2012-11-23T21:34:31.697 に答える