ACME公司保留我们扩展和定制的产品X。他们已经使他们的git仓库对我们可见,但我们无法对其进行写操作。 ACME正在将自己的内部Git服务器与Gitolite一起使用。
我们的开发人员想要对其进行写入,因此我们需要本地副本。但是,很高兴保留ACME公司的提交历史记录。有办法吗?另外,如何使用ACME公司的代码更新代码?我们正在使用Github Enterprise。
我的思维方式使ACME公司失去了历史。
一定有最好的方法。我本质上是想制作一个本地派生并保持更新,同时仍使我们的开发人员可以访问提交代码。
最佳答案
这称为“供应商分支”模式。 (考虑将这些SO标签添加到您的帖子中。)
您还可以在您的代表中嵌入ACME工件:原始的,未更改的ACME代码将驻留在其自己的(所谓的“供应商”-)分支上,并将 merge 到“master”或任何您需要的地方。
每当ACME更改代码时,您都将 checkout ACME供应商分支并将更新存储在此处,并使用供应商标签进行标记(这便于查看内部的ACME版本),并在需要时 merge 更改。
编辑添加的:一旦了解了这种机制,就看看subtree merge mechanism。
关于git - 维护Git叉的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25391698/