我如何使用 Github 比较视图来查看相对于 parent 存储库中复制的而非分叉的存储库的更改?

How can I use Github compare view to review changes relative to a repo that is duplicated, not forked, from the parent repo?

背景

我有一个存储库是从另一个存储库复制的,而不是分叉的。这样做是因为复制的回购需要是私有的,而 parent 回购是 public,并且 Github 不允许将 public 回购的分支设为私有。

(注意:副本是根据 Github 的文档 here 创建的。

我的目标

复制的仓库将有独立的工作完成。我希望将 parent 存储库与复制的存储库进行比较,以便可以将对 parent 的所需更改与副本集成。为方便起见,我希望使用 Github 的 /compare 视图 而不是本地 difftool。

问题

Github 的 cross-repo /compare 视图似乎 只有 在回购是彼此的分支时才有效。 Github 的 docs 指示的 URL 语法是: https://github.com/user1/repo/compare/branch...user2:branch

当我尝试对副本使用相同的 URL 语法来比较两个主分支时,出现错误 There isn’t anything to compare. head 和 base repo 的 drop-down 菜单没有列出 parent(如果我在 parent 上使用 /compare,则不要列出重复项)并且不可编辑。我的猜测是,这是因为副本不是分叉的,而是重复的。

问题

有没有办法让 Github /compare 视图与重复的 repo 一起工作,而不是 forked 的?例如,是否有一个 git 配置设置可以更改以使其显示为一个分支,一个替代的 URL 语法等等

或者,如果有其他方法创建 child 回购(而不是复制),是否有办法实现我比较 parent 和 child 回购的目标使用,条件是 child 必须能够设为私有?

补充说明

我能够通过 this question 中的远程配置和命令在本地成功区分回购协议,但能够在 Github 上进行比较本身对我的团队来说会更好。

非常感谢所有指导!

您只能使用 GitHub /compare 视图查看同一存储库网络中的存储库。如果两个存储库具有不同的可见性(一个是 public,另一个是私有的),那么根据定义它们不能在同一个存储库网络中,并且该功能将不起作用。

之所以需要,是因为为了进行比较,您可能需要来自两个存储库的对象来计算差异。同一网络中的两个存储库(即具有相同的主存储库和分叉集)共享磁盘上的底层存储,并且所有对象都可用。不是的存储库没有,如果不创建一个包含两个存储库数据的临时存储库,就不可能计算差异,就像你正在使用的 public 和私有存储库是单独克隆到磁盘上。