Git 保持两份回购协议同步,无需分叉

Git 保持两份回购协议同步,无需分叉,git,github,git-repo,Git,Github,Git Repo,我在GitHub组织内部有回购协议 它的代码取决于某些凭据。 它基本上会查找名为environment.properties的文件,该文件将包含一个键值对,如env=pps,然后将继续读取名为pps credentials.properties的文件 我们希望在同一个组织中有另一个回购协议,但维护相同的代码。这将被部署到另一个云环境,并读取环境文件,找到一个类似于env=jkd的对,然后读取jkd凭据。properties 这两个代码都将部署到不同的云环境 我们的要求是: 新回购协议应与旧回购协

我在GitHub组织内部有回购协议

它的代码取决于某些凭据。 它基本上会查找名为
environment.properties
的文件,该文件将包含一个键值对,如
env=pps
,然后将继续读取名为
pps credentials.properties
的文件

我们希望在同一个组织中有另一个回购协议,但维护相同的代码。这将被部署到另一个云环境,并读取环境文件,找到一个类似于
env=jkd
的对,然后读取
jkd凭据。properties

这两个代码都将部署到不同的云环境

我们的要求是:

  • 新回购协议应与旧回购协议位于同一组织中
  • 两份回购协议的代码应该完全相同
  • 因为它在同一个组织中,所以不能分叉,但我们仍然需要能够将旧回购协议的更改同步到新回购协议。我可以保证代码不会有任何更改

  • 如果像您这样的人拥有此repo的本地副本,您可以为您的副本提供两个远程,代表两个GitHub repo,只需手动从一个副本获取并推送到另一个副本,以保持它们的同步

    这实际上与保持fork与其原始(上游)同步的方式没有什么不同。你不需要GitHub叉子就能做到这一点


    实际上,我这样做是为了得到公司回购协议的备份副本。如果公司服务器暂时停机(有时会发生这种情况),我仍然有我的代码和一个可以推送到的地方。

    是否可以将代码和配置分开?除了几行配置之外,两个相同的代码基的复杂性是本指南的灵感来源,我认为:无论部署到哪个环境,它都将从environment.properties读取(它将出现在我们部署到的任何环境中)。只是该文件中的值将根据环境而不同代码保持不变..那么是否需要有两个repo?为什么不对两者使用相同的方法呢?因为这两个repo将部署到两个不同的环境。在每个环境中,它都将从不同的卡夫卡代理和主题中读取,因此凭据也不同。。