Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同步两个相同的项目,但独立的git回购协议和不同的包结构_Git_Github_Git Push_Github Actions_Git Repo - Fatal编程技术网

同步两个相同的项目,但独立的git回购协议和不同的包结构

同步两个相同的项目,但独立的git回购协议和不同的包结构,git,github,git-push,github-actions,git-repo,Git,Github,Git Push,Github Actions,Git Repo,我需要在两个不同的git Repo之间进行同步,但这两个Repo都有相同的项目代码/文件和不同的包结构 目前面临的问题是,我需要克隆并推送更改2次,是否可以从一次推送到两个回购协议 范例 Repo1:com/example1/demo/DemoService.java Repo2:com/emample2/demo/DemoService.java (注意:两个回购协议中的文件将是相同的,唯一的变化是包结构) 现在,当我在com/example1/demo/DemoService.java中进行

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

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

范例

Repo1:com/example1/demo/DemoService.java

Repo2:com/emample2/demo/DemoService.java

注意:两个回购协议中的文件将是相同的,唯一的变化是包结构)


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

这是不可能的,因为结构的改变意味着历史的改变(树SHA1将不同)

你可以考虑推到一个中间的本地RePO1克隆,它将有一个本地的接收后钩子。< /P> 这个钩子将:

  • 按遥控器1
  • 转到本地克隆的Repo2
  • 复制刚刚修改的文件,并进行本地提交
  • 按遥控器2

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

这是不可能的,因为结构的更改意味着历史的更改(树SHA1将不相同)

你可以考虑推到一个中间的本地RePO1克隆,它将有一个本地的接收后钩子。< /P> 这个钩子将:

  • 按遥控器1
  • 转到本地克隆的Repo2
  • 复制刚刚修改的文件,并进行本地提交
  • 按遥控器2

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

解决问题的另一个方法是使用git子模块()

您将有一个git repo保存您的java代码(来自示例中的/demo路径),还有两个其他存储库,每个存储库对应一个包名


您还可以描述一下为什么您需要在两个不同的回购协议中使用相同的代码以及不同的包吗?也许有更好的方法来解决整个问题。

解决问题的另一个方法是使用git子模块()

您将有一个git repo保存您的java代码(来自示例中的/demo路径),还有两个其他存储库,每个存储库对应一个包名


您还可以描述一下为什么您需要在两个不同的回购协议中使用相同的代码以及不同的包吗?也许有更好的方法来解决整个问题。

这是正确的方法,但创建的钩子只在我的本地权限内,我如何使它在克隆此回购协议并推动changes@ShashiKiran出于安全原因,钩子始终位于其存储库的本地。但是如果您想共享该过程(hook执行实际的推送和更新repo2),那么您需要设置一个所有开发人员都可以访问的内部Repo1:每个人都将推送到该本地服务器(例如通过SSH),然后,本地共享服务器上的Repo1可以更新Repo2的本地克隆并推送到两个远程存储库。是否可以使用钩子更改包结构?如将示例1替换为example2@ShashiKiran:确定:钩子脚本可以在Repo2中的任何需要的地方复制文件。然后添加、提交和推送。这是正确的方式,但创建的钩子将只在我的本地权限中,我如何使它在克隆此repo和推送此repo的其他开发人员中变得常见changes@ShashiKiran出于安全原因,钩子始终位于其存储库的本地。但是如果您想共享该过程(hook执行实际的推送和更新repo2),那么您需要设置一个所有开发人员都可以访问的内部Repo1:每个人都将推送到该本地服务器(例如通过SSH),然后,本地共享服务器上的Repo1可以更新Repo2的本地克隆并推送到两个远程存储库。是否可以使用钩子更改包结构?如将示例1替换为example2@ShashiKiran:确定:钩子脚本可以在Repo2中的任何需要的地方复制文件。然后添加、提交和推送。这是项目所必需的。让我试着用一种更简单的方式来表达——我有一个演示项目正在为一家公司工作。该示例公司被分为2个示例1和示例2(因此需要使用相同代码的不同包结构),目前这两个公司的功能将保持不变,随着时间的推移,开发可能会分开进行。这是项目所必需的。让我试着用一种更简单的方式来表达——我有一个演示项目正在为一家公司工作。该示例公司被分为2个示例1和示例2(因此需要使用相同代码的不同包结构),因为目前这两个公司的功能将保持不变,随着时间的推移,开发可能会分开进行。