ラッパーと、その中にrepo
約数十の異なる git リポジトリがあります。
後で次の方法で適用/使用できるパッチが 1 つ必要です。
変更されたすべてのサブモジュールでこのコマンドを実行したいと思います。
git checkout -b all_sub_branch
git commit -a all_submodules
git format-patch all_submodules aaa.patch
git apply aaa.patch
ラッパーと、その中にrepo
約数十の異なる git リポジトリがあります。
後で次の方法で適用/使用できるパッチが 1 つ必要です。
変更されたすべてのサブモジュールでこのコマンドを実行したいと思います。
git checkout -b all_sub_branch
git commit -a all_submodules
git format-patch all_submodules aaa.patch
git apply aaa.patch
プレーンなバニラ git の回答 (サブモジュールを使用):
各サブモジュールに対して行われるこの種のプロセスは、次の方法で開始できます。
git submodule foreach [--recursive] ...
「...」は、すべてのコマンドを含む git エイリアスを参照します。
foreach
チェックアウトされた各サブモジュールで任意のシェル コマンドを評価します。
このコマンドは、変数$name
、$path
、$sha1
およびにアクセスでき$toplevel
ます。
$name
の関連するサブモジュール セクションの名前です.gitmodules
。$path
スーパープロジェクトに関連するサブモジュールディレクトリの名前です。$sha1
スーパープロジェクトに記録されたコミットであり、$toplevel
スーパープロジェクトの最上位への絶対パスです。スーパープロジェクトで定義されているがチェックアウトされていないサブモジュールは、このコマンドによって無視されます。
指定しない限り、コマンドを評価する前に各サブモジュールの名前を出力します--quiet
。 が指定されている場合、サブモジュールは再帰的にトラバースされます (つまり、指定されたシェル コマンドは、ネストされたサブモジュールでも評価されます)。foreach
--recursive
問題は、androidrepo
ラッパー コマンドが独自の方法で git サブモジュールが行うことを行うことです。
したがって、同等のものは次のgit submodule foreach
ようになります: repo forall
、例:
repo forall -c 'git status'