同步多个远程git仓库

发布于 2024-12-07 20:14:16 字数 192 浏览 0 评论 0原文

我们有:

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

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

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

最简单的方法是什么?

谢谢。

We have:

  1. Remote repository with some project.
  2. Several remote repositories, which I want to synchronize with previous one.

When something pushed in first project (1), I need to pull these changes to other remote repositories (2).

I can pull from first repo and push to destination repositories.

What is the simplest way to do this ?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

微凉 2024-12-14 20:14:16

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

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

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

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

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

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

You could clone a new bare mirror repository from the upstream repository that you have no control over, e.g. with:

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

(In fact, --mirror implies --bare, so --bare isn't strictly necessary.) The --mirror option says that rather than just take the local branches from the remote and make them remote-tracking branches, git should mirror all the branches from the remote repository with the same names.

Then, you can set up a frequent cron job that runs the following commands in that repository:

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

This assumes that you've added repo1 and repo2 as remotes, and that they point to bare repositories that you're only wanting to use as mirrors. (The latter requirement is because you're using --force, so if other people are pushing their work to repo1 or repo2, it'll get overwritten by the automated mirror pushes.)

执手闯天涯 2024-12-14 20:14:16

您可以在第一个中设置 post-receive 挂钩远程存储库,然后从您的第一个远程存储库推送到其他每个远程存储库。

You could set up a post-receive hook in the first remote repository that then pushes from your first remote repository to each of the others.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文