同步两个相同的项目,但单独的git repos和具有不同的包结构

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

当前面临的问题是我需要克隆并推送更改两次,是否可以从一次推送中同时推送两个回购协议

示例

Repo1:com / example1 / demo / DemoService.java

Repo2:com / emample2 / demo / DemoService.java

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

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

lisa813328 回答:同步两个相同的项目,但单独的git repos和具有不同的包结构

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

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

该钩子将:

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

这种方式:一键推送并在 远程存储库中自动更新重复文件。

,

解决您问题的另一种方法是使用git子模块(https://git-scm.com/book/en/v2/Git-Tools-Submodules)。

您将在示例中的/ demo路径中拥有一个git repo来保存您的Java代码,以及另外两个存储库,每个存储库名称一个。

您还能描述为什么需要在具有不同软件包的两个不同存储库中使用相同代码的原因吗?也许有更好的方法可以解决整个问题。

本文链接:https://www.f2er.com/3168855.html

大家都在问