2

過去 24 時間以内に (作成者のローカル リポジトリに)コミットgit log --since="24 hours ago"された変更を表示するための構文はよく知っています。

私たちの開発者チームは常にローカルでコミットしており、それらの変更を 2 日おきにプッシュするだけです。これが true の場合、git log --since="24 hours ago"それらの変更は一覧表示されません。(毎晩の要約メールにこれを使用しています)

私が本当に見たいのは、過去 24 時間以内にマスターにプッシュされた変更であり、要約スクリプトが最後に実行されたときのコミット ハッシュを手動で記憶する必要なく、これを実行できることです。

4

2 に答える 2

4

次のようなコマンドを使用して、開発者がプッシュしているサーバーで実行できます。

git reflog master --since="24 hours ago"

git fetch残念ながら、この情報はおよび同様のコマンドによって転送されるようには見えず、ローカルで実行するとハブからプルgit reflog origin/masterの履歴が取得されます。

于 2012-09-24T16:59:44.210 に答える
2

gitそれ自体は、物事がプッシュ/プルされたときのメタデータを追跡しません。user4815162342 からの回答に記載されているように、推測に関連付けることができるもの (reflog、ファイルのタイムスタンプなど) がいくつかありますが、それは完全な解決策ではありません。を使用している場合はgit daemon、各接続をログに記録するように設定でき、Web サーバーは http/https 接続に対して同じことを行うことができます。また、いくつかのフック (具体的には受信前または受信後のフック) をセットアップして、いくつかの情報を取得することもできます。

于 2012-09-24T17:15:04.627 に答える