的.gitconfig。怎么保护?

时间:2011-02-16 09:44:40

标签: git git-config

如果您看到.gitconfig文件,则其中包含用户的姓名和电子邮件地址。我希望保护它免受用户的侵害,因为它们始终可以掩盖其身份,因为它仍然可由用户配置。

Ex,在我的公司目录中,我的名字如下 杰拉尔德,安东尼(姓氏,拳头名)。

人们在这里犯了错误,有些用户在下面指定了他们的名字

  • 杰拉德
  • G.Anthony
  • GA
  • 安东尼
  • AGeral

这会产生混淆,因为它不包含真实的信息。

让我知道你如何管理用户身份

4 个答案:

答案 0 :(得分:4)

这是一个社会问题,应该通过社会手段解决。

如果您确实想确定是谁检查了某些内容,则应使用签名标记(使用由公司中心CA签署的公钥)。

答案 1 :(得分:3)

你无法单独使用Git强制执行(除非你重新考虑所有的分布式模型),但如果你有一些围绕你的Git repo服务器的封装,比如gitolite,你可以使用一些脚本来检查用户名:

例如:update.email-check

  

Gitolite特定脚本,用于检查推送的每个提交的“作者电子邮件”字段,如果此电子邮件与用户推送的电子邮件不匹配,则禁止该字段。

脚本中包含的“哲学笔记”非常生硬,但也很重要;)

哲学笔记:

  

执行此操作会破坏“ DVCS ”中的“ D ”,从而迫使所有开发人员在推送方面工作到集中模式。
  它可以防止修改别人的提交和推送(包括变基,挑选等等,现在这些都是不可能的。)
  它还使两个开发人员之间的任何离线协作无用,因为他们都不能将结果推送到服务器。

     

PHB应注意,验证提交者ID与查看代码并在其上运行QA /测试不同。如果您没有查看/质疑代码,那么无论如何它都可能毫无价值。相反,如果你 要审查代码并运行QA /测试,那么你真的不需要验证作者的电子邮件!

     

在DVCS中,如果你推送一系列提交,你在某种意义上已经签署了它们。 “签署”系列节目的最正式方式是坚持并推出一个带有gpg签名的标签,尽管大多数人并没有走得那么远。
  但是,Gitolite的日志文件旨在将责任保留在某些范围内;请参阅contrib / adc / who-pressed以获取管理员定义的命令,该命令可以快速轻松地告诉您推送特定提交的人。

     

无论如何,重点是这个脚本的唯一目的是

     
      
  • 迎合仍然没有参加* D * VCS
  • 的人   
  • 或勾选一些愚蠢的PHB核对表中的项目
  •   

答案 2 :(得分:0)

提交add a signed tag可能会提供某种验证。

答案 3 :(得分:0)

保护.gitconfig无法解决问题,因为用户可以通过设置GIT_AUTHOR_NAME和GIT_AUTHOR_EMAIL来覆盖这些设置。