1

我们公司正在研究使我们的版本控制现代化,通常我们希望使用 git。我以前使用过分布式版本控制,但仅用于个人项目和开源项目(有某种用户管理)(Google 代码上的 Mercurial 和 LaunchPad 上的 Bazaar)。如果我们在自己的存储库上使用 GIT,我不确定如何验证每个提交的作者。我不是在谈论推送的身份验证,而是提交的身份验证。

所以让我们说.. 1.我克隆回购并检查一个分支。2.我将我的用户名更改为我的工人并进行更改并最终提交。3. 我改回我的 user.name 并推送(例如使用我的 ssh 帐户)。4. 我可以把所有的变化都归咎于我的同事。

这会是一个问题吗?我们如何解决这个问题?

我确信那里有一些东西,但我想我不是在寻找正确的信息,所以如果你们能给我一些基本的概述,这将非常有帮助。

谢谢

4

1 回答 1

3

您无法规范提交的创建,因为这发生在每个用户的工作站上,在他们自己的存储库本地副本中。

您可以在中央存储库中进行一些检查(使用挂钩),并要求传入的提交带有连接用户的名称。 然而,这是一个坏主意。

考虑一个用户可能需要重用其他人的工作但不想合并它的情况。他可能会挑选其他人的提交,或者将他们的分支重新定位到他自己的分支上。在这种情况下,作者信息与原始提交匹配是正确的,并且将传入提交限制为具有与推送它们的用户匹配的作者姓名会破坏此工作流程。

只有当它成为一个问题时,我才会担心这个。归结为信任:如果您不信任开发人员,他们为什么要为您工作?

于 2013-04-10T16:58:46.160 回答