大きなプロジェクトを管理するためにgitサブモジュールを使用しています。この大規模プロジェクトの中に約20個のサブモジュールがあり、サブモジュールは頻繁に更新されません。サブモジュールコミットがリポジトリと同じであることを確認してください
git submodule update
コマンドを実行する前に、スーパープロジェクトのインデックスにすでに指定されているコミットをチェックアウトするようにgitに指示する前に、コミットがサブモジュールに存在するかどうかをチェックしますか?
git branch --contains $SHA
のようなものですが、サブモジュール用です。
それが存在しない場合、私はコミットcontaintたりしないサブモジュール内git fetch
をしたいと思っgit submodule foreach git pull
理想的
私はすべての20個のサブモジュールのためのgit submodule foreach git pull
を行うことを避けるとやりたいですサブモジュールコミットがリポジトリが指しているものと異なる場合はgit fetchを実行してください。
これは本当にありがとうございます。最後の質問が1つあります。サブモジュールが親レポポイントをコミットする最善の方法を知っていますか? 'git rev-parse^{commit}:' –
を使ってこれを行うことができました。つまり、フェッチする前にサブモジュールに存在するかどうかを確認するコミットです。 –
'git submodule update'を実行し、' git submodule status'を実行します。 Statusは、現在master repoに固定されているサブモジュールのsha1をすべて返します。 – Zloj