1

git remote前回のフェッチ以降の変更を確認する方法を探しています。

git は、リモートを取得して変更を確認するという原則に基づいて機能することを理解していますが、リモートに変更を「ping」できる「TeamCity」などの多くの継続的統合ツールを知っています。

リポジトリへの変更を人々に通知するための独自のツールを作成できるように、ビルドエージェントなどがこれらのチェックをどのように行うかを知りたいです。

の変更を確認するには、どの git コマンドを使用しますgit remoteか?

git ls-remote .で十分でしょうか?

4

2 に答える 2

1

ビルド エージェントは通常、変更時にサーバーに ping を送信させることでこれを行いpost-receiveます。これは、新しいコミット SHA を使用して HTTP POST を送信するフックによって実現されます。フェッチせずにリモートをチェックする理由がわかりません。

git ls-remoteローカルのものと明らかに比較できるコミットSHAを取得しますが、コミットの数に関する情報は取得しません。

于 2012-10-21T11:00:00.077 に答える
1

私は、彼らが「ping」を実行して、git fetch参照がどのように変化するかを確認していると推測しています。post-updateフックを使用してこれを確認できます。

fooリモートのブランチbarが変更されたかどうかを確認するもう 1 つの方法は、 a を実行git fetch bar fooしてブランチを にフェッチし、FETCH_HEADたとえば a を実行して の古いバージョンとフェッチしたばかりのgit log bar/foo..FETCH_HEADバージョンを比較することです。foo

最後のコメント: を使用git ls-remoteして、最後に見た後にリモート ブランチが更新されたかどうかを確認できますが、コミット メタデータ (日付) にアクセスするには、取得する必要があります。

于 2012-10-21T08:22:56.537 に答える