1

サブモジュールを含むリポジトリのクローンを作成しました。サブモジュールはすべて git-inited および git-updated されています。変更が (別のマシンによって) 1 つ以上のサブモジュールにプッシュされた後、次のコマンドを実行します。

git submodule foreach git pull origin master

ローカルで最新のものを取得するには-しかし、サブモジュールに入って実行するgit statusと、「現在、どのブランチにもありません」というメッセージが表示されます。git checkout次に、とを組み合わせgit pullて、サブモジュールのマスター ブランチに戻る必要があります。

すべてのサブモジュールで「メイン ブランチから最新のものを取得」することが目標の場合、正しい foreach コマンドはどれですか?

例として編集

このことを考慮:

  1. サブモジュール B と 2 台のマシン Z と Y を含むリポジトリ A があります。
  2. リポジトリとサブモジュールを Y と Z にクローンします。
  3. Y の B に変更を加え、サーバーにプッシュします。

今、私が求めているのは、Z を最新の状態にし、B の最新の変更を取得するための構文です。これは、複数のサブモジュールに合わせて拡張できるような方法です。

4

1 に答える 1

1

私があなたを正しく理解していれば、すべてのサブモジュールのすべての変更を取得してマージする必要があります。そうであればgit submodule update --merge、トリックを実行する必要があります。そこで foreach を使用しようとした理由がわかりません。

于 2013-02-23T16:25:45.137 に答える