我们假设在同一个github帐户上有两个存储库,一个名为项目,另一个名为项目社区。我现在想让项目社区存储库成为项目存储库的镜像。目的是项目的社区成员可以向社区存储库提交补丁和其他代码,而项目的维护者不必考虑稳定性问题等。我该怎么做?
我以为我只是克隆存储库,添加一个新的远程,然后定期 git pull项目和 git push project-community 。这对第一次尝试非常好,但我遇到的问题是我之后只在社区存储库中拥有主分支。在不创建每个分支的本地副本的情况下,将所有更改推送到所有分支的正确方法是什么?
我看了一下--mirror选项,但这似乎没有用,因为项目结构不再相同了(现在git添加了第一级目录)。
答案 0 :(得分:2)
首先,您需要确保将default pushing policy设置为 matching
,以便将所有本地分支机构推送到各自的匹配upstream branches。< / p>
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?”。