git を試してみて、自己ホスト型リポジトリ用に Gitlab をセットアップしましたが、見栄えがします。
私を悩ませていることの 1 つは、誰でも他の人のようにコミットできるように見えることです (つまり、コミットのなりすまし)。
ie: 公開鍵アクセスを使用して Gitlab でユーザーをセットアップしています
- ユーザー1
- ユーザー2
現在、これらのユーザーのみがプッシュできます-秘密のSSHキーを使用しています-しかし、User2がgitconfigを微調整してUser1の名前でコミットし、それをプッシュするのを止めるものは何もないようです?
gitlab とgit -showの履歴は、User1 の gitconfig テキストが何であれ、コミッターを示しています。代わりに、プッシュする ssh キーに関連付けられたユーザー名を Gitlab に履歴にスタンプしてもらいたいので、プッシュに使用された ssh キーがわかります。
シナリオは、レポがチーム環境で使用されることであり、スプーフィングされたコミットを許可しないことが賢明なようです。
私はいくつかの読書を行い、通常、ワークフローを変更して、承認されたリポジトリを持ち、それにプッシュできる信頼できるコミッターのみがいる可能性があることを理解していますが、この段階では、git を学習しながら、より集中化された SVN タイプのワークフローにとどまりたいと考えています。 .
これはフックを使用して可能ですか?
gitosis についても同様の質問に回答がありますが、それでさえ、コミッターが User2 としての User1 のスプーフィングを停止しない範囲のユーザーからであることを強制しているように見えます-私が知る限り。
PS: 多分私は間違った質問をしているかもしれません.コードをレポにプッシュするためにどのsshキー(したがって実際のユーザー)が使用されたかをgitlabで発見する方法はありますか? 私が見つけたものからはそうではないようです。