我最近问了一个关于镜像到 gerrit 的机制的问题,但我开始认为这可能不是一件理想的事情(知道有用但可能不适用于这个用例)。这个问题建立在那个问题之上。
我们想在 github 上开展一个项目,我们想看看它的分支。我们会用 gerrit 来解决这个问题。我想查看分支(和标签),但我不想直接在远程分支上签出……我们将拥有自己的本地分支和标签。
目前我可以将这样的 repo 镜像到 gerrit 中,这样它看起来就像是存储库的克隆,具有适当的分支和标签(例如,分支 foobar 在本地保持 foobar,而不是origin/foobar或remotes/origin/foobar)。但是,似乎让远程 refs 保持origin/foobar等可能更可取(并且更符合通常的做法)。
那么,以任何方式将外部项目镜像到本地 gerrit(例如上面)中是否比以允许其远程分支保持“远程”的方式克隆它更好?如果我们不想直接在那些远程分支上签出,那么让远程 refs 指向origin/foobar而不是foobar重要吗?最后,我希望在非镜像克隆上看到origin/foobar我看到remotes/origin/foobar ...我在那里做错了什么?(我也失去了使用克隆进行裸镜像的好处,所以无论如何这似乎都是一个糟糕的选择。)
注意:使用 fetch 的建议有助于填充裸本地 repo(我在原始问题中充实了详细过程,作为使用 --mirror 的替代方法)。
我要补充一点,我现在知道一个相关的问题。也许我特别考虑了“远程”的事情,但是镜像或克隆的问题仍然存在——人们将基于标签和本地、唯一命名的分支而不是远程来工作。我想极力避免内部也可能出现的命名冲突,因此知道如何以最佳方式做到这一点不仅仅是学术性的。