首页 > 解决方案 > 同步两个相同的项目,但单独的 git repos 和不同的包结构

问题描述

我需要在两个不同的 git 存储库之间同步,但是两个存储库都具有相同的项目代码/文件和不同的包结构。

当前面临的问题是我需要克隆并推送更改 2 次,是否可以从一次推送中推送到两个存储库

例子

回购1:com/example1/demo/DemoService.java

Repo2:com/eample2/demo/DemoService.java

注意:两个 repos 中的文件是相同的,唯一的变化是包结构)

现在,当我在 com/example1/demo/DemoService.java 中进行更改并从本地推送时,它应该被推送到 example1 和 exmaple2,这可能吗?如果是,请告诉我需要执行哪些必要步骤。

标签: gitgithubgit-pushgithub-actionsgit-repo

解决方案


这不是直接可能的,因为结构的变化意味着历史的变化(树 SHA1 不会相同)

您可能会考虑推送到中间本地 Repo1 克隆,该克隆将具有本地接收后挂钩。

那个钩子会:

  • 推送到远程Repo1
  • 转到本地克隆的 Repo2
  • 复制刚刚修改的文件,并进行本地提交
  • 推送到远程 Repo2

这样:一次推送,重复文件会在两个远程存储库中自动更新。


推荐阅读