限制Git扩展中的用户模拟

限制Git扩展中的用户模拟,git,authentication,gitlab,git-extensions,Git,Authentication,Gitlab,Git Extensions,我们与一个开发团队一起使用Git、Git扩展和GitLab 在Git Extension>Settings>Git Config中,输入用户名和用户电子邮件,以记录作者对本地的提交。当开发人员将本地更改推送到中央存储库时,作者的姓名将按照本地提交中的作者历史记录显示 似乎我们可以输入任何用户名和电子邮件,在本地提交,然后推送到中央存储库。这实际上给了我一个模仿任何用户的机会。我确信这是不可接受的环境,我错过了一些东西 我们要避免的是无意中提交错误的用户详细信息,无论是无意的还是有意的,特别是当开

我们与一个开发团队一起使用Git、Git扩展和GitLab

在Git Extension>Settings>Git Config中,输入用户名用户电子邮件,以记录作者对本地的提交。当开发人员将本地更改推送到中央存储库时,作者的姓名将按照本地提交中的作者历史记录显示

似乎我们可以输入任何用户名和电子邮件,在本地提交,然后推送到中央存储库。这实际上给了我一个模仿任何用户的机会。我确信这是不可接受的环境,我错过了一些东西

我们要避免的是无意中提交错误的用户详细信息,无论是无意的还是有意的,特别是当开发人员有单独的官方和个人电子邮件时。我相信git的工作流程是基于信任和开放的理念,并且在公共项目中工作得非常好。在官方开发中,我们需要一个没有任何用户自由裁量权的审计跟踪


我无法确定一种方法来限制此类模拟,并仅在本地提交和推送到远程存储库期间将提交限制到授权用户。您能建议正确的前进方向吗?

作者信息不用于身份验证。如果您需要在您不信任的人可以参与的环境中证明谁参与了提交,那么您需要签署您的提交。请参阅
git commit
文档,特别是
-S
/
--gpg sign
选项

作者信息不用于身份验证。如果您需要在您不信任的人可以参与的环境中证明谁参与了提交,那么您需要签署您的提交。请参阅
git commit
文档,特别是
-S
/
--gpg sign
选项

git中的假设(与任何dvc一样)是只允许捆绑用户推送到存储库,根据定义,可信用户不会伪造作者信息。由于提交创建和提交推送在DVCS中是分开的(与集中式VCS不同),因此无法在推送时检查作者信息是否正确(除非您签署提交)。我理解这一点,并欣赏这些信息。我们想要避免的是无意中提交错误的用户详细信息,无论是无意的还是有意的,特别是当开发人员有单独的官方和个人电子邮件时。我相信git工作流程是基于信任和开放的哲学,它在公共项目中非常有效。在官方开发中,我们需要不受任何用户自由裁量权影响的审计跟踪。我想这可能是不同方法/解决方案的主题。我将进一步研究签名选项。谢谢。谢谢你的澄清。我把它编辑到了你的问题中,因为它有助于理解你在寻找什么——如果我弄错了,请随意重新编辑。git中的假设(与任何DVC一样)是,只允许捆绑式用户推送到存储库,根据定义,可信用户不会伪造作者信息。由于提交创建和提交推送在DVCS中是分开的(与集中式VCS不同),因此无法在推送时检查作者信息是否正确(除非您签署提交)。我理解这一点,并欣赏这些信息。我们想要避免的是无意中提交错误的用户详细信息,无论是无意的还是有意的,特别是当开发人员有单独的官方和个人电子邮件时。我相信git工作流程是基于信任和开放的哲学,它在公共项目中非常有效。在官方开发中,我们需要不受任何用户自由裁量权影响的审计跟踪。我想这可能是不同方法/解决方案的主题。我将进一步研究签名选项。谢谢。谢谢你的澄清。我把它编辑成了你的问题,因为它有助于理解你在寻找什么——如果我弄错了,请随意重新编辑。为了补充这一点,Linus列出了不签署提交的好理由。在签署您的承诺之前,请阅读以下内容:@jsageryd-Meh。莱纳斯非常固执己见,认为不符合他的需要的东西毫无价值。这并不意味着他总是对的。他就直接对提交进行签名的局限性以及签名标记的潜在优点提出了一些有效的观点。然而,如果你看看这篇文章的上下文,(1)它是从2009年开始的,在
commit-S
选项出现之前;(2) 这是关于一些开发人员想要
-S
选项的讨论,(3)尽管Linus认为当时的选项已经更好了,但该选项确实得到了实施。我认为这些信息可能有用。这里有两个线程讨论如何添加
commit-S
:。来自这些线程的信息不一定会使上述线程中所述的参数无效。GitExtensions能够对提交进行签名。它在提交表单的
选项中
下拉列表中…我理解这一点,并欣赏这些信息。我们想要避免的是无意中提交错误的用户详细信息,无论是无意的还是有意的,特别是当开发人员有单独的官方和个人电子邮件时。我相信git工作流程是基于信任和开放的哲学,它在公共项目中非常有效。在官方开发中,我们需要不受任何用户自由裁量权影响的审计跟踪。我想这可能是不同方法/解决方案的主题,我有足够的建议。我将进一步研究签名选项。非常感谢。为了补充这一点,Linus列出了不签署承诺的好理由。在签署您的承诺之前,请阅读以下内容:@jsageryd-Meh。莱纳斯非常固执己见,认为不符合他的需要的东西毫无价值。这并不意味着他总是对的。他就直接签署承诺的局限性以及签署承诺的潜在优点提出了一些有效的观点