假设有两个存储库,一个名为 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/