0

たとえば、ある人がブランチ (または軽量タグ) を作成し、そのブランチをサーバーにプッシュします。ローカル.gitディレクトリから見ると、一部のファイルは人によって変更されています。あの人も推しです。サーバーは許可を確認する必要があるため、誰がそれを行うかを知っています。サーバー上の git は、誰がその操作を行ったかについてこの情報を取得しますか?

私ができるなら:

git log .git/refs/tags/tag

誰がそのタグを作成したかを知ることができました。

これを行う方法があれば、次のような質問に答えることができます。

  • このブランチを作成/削除した人
  • このタグを作成/削除した人

または、git リポジトリのメタデータの変更の作成者を見つける別の方法はありますか?

4

1 に答える 1

0

post-receiveサーバーリポジトリにフックを記述して、どの参照が更新されたか、どのように、誰がそれを行ったかを記録できます。

どのソフトウェアが実際に認証と承認を行ったか (そして最終的にサーバー側の Git プロセスと呼ばれるか) に完全に依存するため、これはやや難しい部分です。たとえば、gitoliteフックを使用すると、実際に認証されたユーザー名がGL_USER環境変数で使用できるように見えます。サーバーは環境変数などHTTPをエクスポートする必要があります。REMOTE_USER

于 2013-09-05T13:31:32.700 に答える