我们假设在同一个Github帐户上有两个存储库,一个存储库project
,另一个存储库project-community
。我现在想使项目社区存储库成为项目存储库的镜像。目的是使项目的社区成员可以向社区存储库提交补丁和其他代码,而项目的维护者不必关心稳定性问题等。我该怎么做?
我以为我只是克隆存储库,添加一个新的远程服务器,然后定期git pull project
和git push project-community
。这对于第一次尝试来说效果很好,但是我遇到的问题是,之后我在社区存储库中只有master分支。将所有更改推送到所有分支而不创建每个分支的本地副本的正确方法是什么?
我看了--mirror
选项,但这似乎没有用,因为项目结构不再相同(现在git添加了第一级目录)。
首先,您需要确保将default pushing policy设置为matching
,以便将所有本地分支推送到它们各自匹配的upstream branches。
git push project-community # will push all matching branches
第二,您需要您的仓库的副本,该副本具有all在本地跟踪的远程分支:请参阅“ Track all remote git branches as local branches”。
第三,您需要从所有远程分支更新所有本地分支:请参阅“ Can I easily update all local git branches from remote branches simultaneously?”。