当git仓库有多个远程服务器时,如何保护提交者的身份?

时间:2019-03-02 16:02:37

标签: git github

我们公司有一个项目要作为开源发布。该存储库在内部托管,并且包含一个历史记录,其中包括我们团队的名称和电子邮件。

该开源项目将托管在外部存储库Github上。出于说明目的,让我们假设团队成员是Alice,Bob和Charlie,公司名称是ACME。

是否可以利用git完成以下任务:

  1. 保留为Alice et al的提交,并且在我们的内部存储库中完全透明
  2. 在将代码发布到 public 存储库时,应将提交压缩为一个,就像由ACME(而不是Alice et al)用户所做的一样< / li>
  3. 其中一名团队成员Bob将充当内部和外部存储库之间的桥梁。他的职责是在内部以Bob的身份工作,并偶尔将累积的团队承诺作为ACME推送到远程仓库。

主要想法是隐瞒同事的身份,以保护他们的隐私。外部存储库可让其他人为该项目做出贡献,而无需让他们进入我们的基础架构。

全世界应该看到公司所做的所有工作都是ACME所做的,并且无法查看将代码作为开源发布之日之前的历史。

这如何实现?或者我们可以考虑采用哪些替代方案?

1 个答案:

答案 0 :(得分:2)

提交的身份(或者,在Git内部的 any 对象)是其内容的加密校验和。提交的内容包括作者和提交者的姓名和电子邮件地址。如果您进行的另一次提交与名称和/或电子邮件地址未被遮盖但名称和/或电子邮件地址被遮盖的提交完全相同,则其他提交是不同的提交

结果是您拥有两个完全不同且互不相容的存储库。这是一场维护噩梦。 可以完成,但是绝对不值得这样做。