使用两个 Remote 的 Git 镜像存储库

标签 git repository mirror

假设有两个存储库,一个名为 project,另一个名为 project-community,位于同一 Github 帐户上。我现在想让项目社区存储库成为项目存储库的镜像。目的是项目的社区成员可以向社区存储库提交补丁和其他代码,而项目的维护者不必关心稳定性问题等。我该怎么做?

我想我只需克隆存储库,添加一个新的远程,然后定期git pull项目git Push项目社区。这对于第一次尝试来说效果很好,但我遇到的问题是,之后我在社区存储库中只有主分支。将所有更改推送到所有分支而不创建每个分支的本地副本的正确方法是什么?

我查看了 --mirror 选项,但这似乎没有用,因为项目结构不再相同(现在有 git 添加的一级目录)。

最佳答案

首先,您需要确保您的default pushing policy设置为 matching,以便将所有本地分支推送到各自的匹配 upstream branches .

git push project-community # will push all matching branches

其次,您需要一个存储库的克隆,其中包含本地跟踪的所有远程分支: 请参阅“Track all remote git branches as local branches”。

第三,您需要从所有远程分支更新所有本地分支:
请参阅“Can I easily update all local git branches from remote branches simultaneously?”。

关于使用两个 Remote 的 Git 镜像存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19621533/

相关文章:

android - TextView 中的镜像文本?

git - golang docker 私有(private) github 存储库

git - 如何在保留历史记录的同时将 git 存储库重新定位到父文件夹?

azure - 如何将项目代码从本地计算机导入到Azure Repos?

eclipse - Tycho:带平台过滤器的 P2 Repo 镜像

java - 使用JDI时如何访问(每行代码的)语句对象?

git - 为什么我使用GitFlow时需要将release分支 merge 到develop分支?

git - 从 GitHub 克隆存储库

c# - 从表达式创建 DbSet<T> 以创建动态查询服务

git - git push 和 git push origin master 的区别