1

サブモジュールを含むかなりの数のリポジトリがあり、それらが参照するリポジトリには新しいコミットがあるため、どのサブモジュールがアップグレードの候補であるかを報告したいと思います。現在チェックアウトされているバージョンを変更せずにこれを行う方法はありますか?

基本的に、私たちが知りたい 3 つの異なるコミットがあります。
1) オリジンの包含リポジトリが指して
いるコミット 2) ローカルの包含リポジトリが指しているコミット (サブモジュールの手動プルのため、これは 1 とは異なる場合があります
3) サブモジュールリポジトリのヘッド。

local が origin より遅れている場合、サブモジュールの更新を行います。
local が origin より先にある場合、サブモジュールの更新は行いたくありません。おそらく開発者によって変更されているからです。
local がサブモジュール リポジトリの先頭の後ろにある場合は、警告が表示されます。

4

1 に答える 1

1

少し冗長ですが、、などを使用して適切な情報に切り詰めることができますがawksedまたはで始めgit submodule foreach git remote showますgit submodule foreach git fetch; git submodule foreach git log master..origin/master。これにより、自動更新などを実行するためのスクリプトを作成するのに十分な情報が提供されます。

于 2012-09-21T15:13:36.873 に答える