尝试使用 git,我为自托管存储库设置了 Gitlab,它看起来很棒。
困扰我的一件事是,似乎任何人都可以像其他人一样进行提交(即:欺骗提交)。
即:我在 Gitlab 中设置了具有公钥访问权限的用户
- 用户 1
- 用户 2
现在只有那些用户可以推送 - 使用他们的私人 SSH 密钥 - 但似乎没有什么能阻止User2调整他们的 gitconfig 以以User1的名义提交并将其推送?
gitlab 和git -show中的历史将提交者显示为 User1 的 gitconfig 文本。我希望 Gitlab 将与推送 ssh 密钥关联的用户名标记到历史记录中,这样我就知道使用了谁的 ssh 密钥来推送。
场景是 repo 将在团队环境中使用,并且不允许欺骗提交似乎是谨慎的。
我已经阅读并了解,通常人们可能会更改工作流程以拥有一个有福的存储库,并且只有可以推动的受信任的提交者 - 但是在这个阶段,在学习 git 时,我想留在一个更集中/SVN 类型的工作流程中.
这可以使用钩子吗?
有一个类似的问题回答了 gitosis 但即使这似乎只强制提交者来自一系列用户,这些用户不会阻止 User1 欺骗为 User2 - 据我所知。
PS:也许我问错了问题——在 gitlab 中有没有办法发现哪个 ssh 密钥(以及真正的用户)被用来将代码推送到 repo 中?从我能找到的情况来看,情况并非如此。