我们公司有一个项目要作为开源发布。该存储库在内部托管,并且包含一个历史记录,其中包括我们团队的名称和电子邮件。
该开源项目将托管在外部存储库Github上。出于说明目的,让我们假设团队成员是Alice,Bob和Charlie,公司名称是ACME。
是否可以利用git完成以下任务:
Alice et al
的提交,并且在我们的内部存储库中完全透明ACME
(而不是Alice et al
)用户所做的一样< / li>
Bob
将充当内部和外部存储库之间的桥梁。他的职责是在内部以Bob
的身份工作,并偶尔将累积的团队承诺作为ACME
推送到远程仓库。主要想法是隐瞒同事的身份,以保护他们的隐私。外部存储库可让其他人为该项目做出贡献,而无需让他们进入我们的基础架构。
全世界应该看到公司所做的所有工作都是ACME
所做的,并且无法查看将代码作为开源发布之日之前的历史。
这如何实现?或者我们可以考虑采用哪些替代方案?
答案 0 :(得分:2)
提交的身份(或者,在Git内部的 any 对象)是其内容的加密校验和。提交的内容包括作者和提交者的姓名和电子邮件地址。如果您进行的另一次提交与名称和/或电子邮件地址未被遮盖但名称和/或电子邮件地址被遮盖的提交完全相同,则其他提交是不同的提交。
结果是您拥有两个完全不同且互不相容的存储库。这是一场维护噩梦。 可以完成,但是绝对不值得这样做。