【问题标题】:Keep two remotes in sync保持两个遥控器同步
【发布时间】:2019-08-11 10:46:31
【问题描述】:

我有一个有趣的情况,我正在与不同机构的人一起工作。我们俩都有必须满足的防火墙要求。我们每个人都有自己的 git 服务器。为了使双方在同一存储库上的工作尽可能无缝,我们每个人都使用自己的服务器和同一存储库的副本。我们发现让存储库彼此保持同步是很困难的,而且我们一直需要做额外的工作以避免混乱的冲突。

有没有一种好方法可以让我们的两个存储库自动保​​持同步?我考虑过在检查冲突之前组合一个 pre-receive 钩子来检查其他服务器的更改。

【问题讨论】:

    标签: git gitlab bitbucket


    【解决方案1】:

    避免混乱的冲突 git 的设计原则之一。

    如果没有好的 VCS 工具,在 git 工作流中解决的大多数混乱冲突将是一场噩梦。会不会是你使用 git 的方式让这个过程不方便?

    如果每个人都经常提交,并且也经常拉取远程更改以进行集成,那么原则上您不会有那么多混乱的冲突。在您的情况下,是什么使它特别糟糕或难以管理?

    如果有令人信服的理由使用另一种类型的工具,比如 SVN 或 P4 等集中式工具,那么值得考虑转换。但一定要先质疑你对git的使用,这样可以省很多麻烦。

    【讨论】:

    • 我们遇到的问题是提交从一个遥控器推送到另一个遥控器的频率不够高。需要额外的步骤来保持两个存储库同步,并且由于这是一个手动过程,仅位于单个远程的存储库不需要,因此用户往往会忘记额外的步骤。我想要的是:当更改被推送到远程 A 时,远程 A 应该首先从远程 B 获取,然后在接受推送之前检查推送是否存在冲突。这样可以尽早并尽可能频繁地发现冲突,而无需用户记住额外的步骤。
    • @Vorticity 在我看来,您正在尝试用去中心化的 VCS 复制中心化 VCS 的特征。但我会让更多有经验的用户确认。
    • 我认为你可能是正确的。这是一种令人沮丧的设置。感谢 cmets!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 2010-12-07
    • 2014-01-25
    相关资源
    最近更新 更多