sshで共有gitリポジトリをセットアップしようとしています。ユーザの公開鍵をauthorized_keysにコピーしています。私は本当にssh-keyからの "username"をリポジトリ内のコミット履歴の一部にすることを望んでいます(ユーザ "joe"は "kate"になるように名前を設定できません - 何らかのアカウンタビリティが必要です) 。これを行う方法はありますか?sshのユーザー名とgitをsshを介して関連付けることはできますか?
答えて
単に、いいえ、方法はありません。理由は、コミットが行われたときに作成者とコミッターの詳細が設定され、通常はローカルで発生するためです。 git push
は、後で既存のコミットをリモート・リポジトリーにプッシュするときに発生します。コミットはすでにSHA1ハッシュによって作成され参照されているため、プッシュ操作中は変更できません。
あなたが考えているのは、作成していないコミットをユーザーがプッシュできないようにする事前受信または更新フックですが、これにより多くの正当な使用が妨げられる可能性があります。ユーザーを信頼することが唯一の選択肢であることがわかります。
これは、gitの分散型の性質では機能しません。想像するjoeマージケイトの開発ブランチ。今中央リポジトリに
* joe: Merge branch 'kate'
|\
| * joe: update foo
* | kate: fix test
* | kate: add test
|/
* joe: initial commit
もしジョープッシュは、およびユーザー名を強制され、ケイトのコミットがに起因することになります。そこに彼の地元のクローンでジョーとケイトからのコミットは今ありますjoe。
Git-hubでは、すべてのユーザーが独自のサーバーサイドgitリポジトリを持っています。たぶんあなたは、ユーザーがそこにプッシュすることを許可することができますし、あなたは "公式の"リポジトリに引っ張って管理者を持っているだろうか? このように、完全なトレーサビリティと説明責任があります。最終的な責任を持つ司会者もいます。
良い提案ですが、すべてのコミッターが同じように信頼できるとみなされているので、実際には1人の管理者を望んでいません。 1人の管理者だけがオーバーヘッドになりますが、これはペストのように避けます... – krosenvold
- 1. は、HTTPを介してリモートのGitミラーのクローンを作成することはできませんが、SSH
- 2. Git: 'ssh'のリモートヘルパーを見つけることができません
- 3. NHibernateを介して2つのクラスをどのように関連付けることができますか?
- 4. SSHのないGitとBitbucket
- 5. Entity Frameworkでテーブルとビューを関連付けることはできますか?
- 6. SSHトンネルを介したmysql
- 7. 名前を緯度と経度のデータで抽出して関連付けることができません
- 8. pexpect - sshを介してscript.shを実行
- 9. バリデータを複数のルールセットに関連付けることはできますか?
- 10. Facebook Likesとローカルに登録されたユーザーを関連付けることはできますか?
- 11. sshネットワークのユーザー名を表示しますか?
- 12. .sshディレクトリを作成せずにsshコマンドを実行することはできますか?
- 13. SSHを介してスクリプト出力を表示しますか?
- 14. カスタムメタデータをALAssetに関連付けることはできますか?
- 15. svn + sshを使用しているときのログファイルはどこですか?
- 16. sshを使用しているときにpythonがモジュールを見つけることができません
- 17. emacsのsshバッファに名前を付ける方法
- 18. MacRuby:net/sshとのSSH接続?
- 19. DotNetOpenAuthは複数のOpen IDを同じユーザーに関連付けることをサポートしていますか?
- 20. Git、SSH、ProxyCommand
- 21. Git remote ssh url
- 22. git log sshリモートリポジトリ
- 23. 関数演算子に別名を付けることはできますか?
- 24. sshを介して3本のデータパイプを送るには?
- 25. TFS 2010は、もはやとチェンジセットを関連付けること
- 26. git post-receive hookはsshとgit経由でリモートに接続します。
- 27. sshはwindowsコマンドプロンプトでgitアクセスを認証しましたか?
- 28. タブ付きのSSHツール?
- 29. GitでSSHパスワードを変更する
- 30. git bash ssh-keygen documentation
ユーザーがコミッター/作成者の名前と電子メールアドレスを変更し、自分自身を仲間に見せかけるハッキングされたコードをプッシュすると、これを裸のレポレベルで防ぐことは何もありません。 – pinkvoid