git - 同步多个远程git仓库

标签 git version-control synchronization multiple-repositories

我们有:

  1. 包含一些项目的远程存储库。
  2. 几个远程存储库,我想将其与上一个存储库同步。

当第一个项目 (1) 中推送某些内容时,我需要将这些更改 pull 到其他远程存储库 (2)。

我可以从第一个存储库中提取并推送到目标存储库。

最简单的方法是什么?

谢谢。

最佳答案

您可以从您无法控制的上游存储库克隆一个新的裸镜像存储库,例如与:

git clone --bare --mirror git://github.com/whoever/whatever.git

(事实上, --mirror 意味着 --bare ,因此 --bare 并不是绝对必要的。) --mirror选项表示,git 应该镜像远程存储库中具有相同名称的所有分支,而不是仅仅从远程获取本地分支并使它们成为远程跟踪分支。

然后,您可以设置一个频繁的 cron 作业,在该存储库中运行以下命令:

git remote update
git push --mirror --force repo1 
git push --mirror --force repo2

这假设您已添加 repo1repo2作为 Remote ,并且它们指向您只想用作镜像的裸存储库。 (后一个要求是因为您正在使用 --force ,因此如果其他人将其工作推送到 repo1repo2 ,它将被自动镜像推送覆盖。)

关于git - 同步多个远程git仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7621086/

相关文章:

git - 如何删除 git 别名?

svn - 适用于小型项目的可搜索源/版本控制应用程序和代码存储库/库

performance - 在 "problems"出现之前,Sourcesafe DB 可以有多大?

Java 同步方法

c++ - 互斥体解锁时解除定时接收阻止

git - 列出特定文件的完整提交历史

当 merge A->B 然后 B->A 时,Git 不会产生新的提交,我如何确保其他团队看到第二次 merge ?

git cherry-pick 远程无分支提交

c - 如何比较两个忽略#ifdef 内代码的文件?

java - Java中使用双计数器进行同步