我该如何知道谁在GitHub上分叉了我的代码库?

188

有没有办法知道谁在GitHub上fork了我的存储库?我可以看到fork的数量,但我想知道是谁fork了我的存储库以及他们对它进行了什么样的更改。

我知道如果他们有兴趣向我的存储库贡献,他们可以向我发送pull请求,但是除此之外,还有其他方法可以找出谁fork了我的存储库吗?


5
想要API的人可以尝试使用:https://api.github.com/repos/<user>/<repo>/forks - nawfal
3
对于外部仓库:Insights -> Forks。请参考文档了解如何列出一个仓库的分支版本。 - root
小更新:以下答案中的方法均无法显示超过1000个分支的完整列表。使用API最多可以查看30个分支,使用虚假拉取请求最多可以查看200个分支,而使用“network/members”页面最多可以查看1000个分支。因此,目前对于大量分叉的存储库来说,完整列表是不可访问的... - Garo
1
根据 https://docs.github.com/en/rest/reference/repos#forks API,最多可以显示100个分支,并且支持分页。 - mthomas
5个回答

188

1
好的,谢谢你的回答。有人可以从我的公共存储库中派生出一个私有存储库,这样我就不知道他们从我的存储库中派生了吗?在https://github.com/kbsbng/Bank-Interest-Calculator/network上,我看到我的存储库有一个分支(在顶部的数字计数中),但是在列表中除了我的存储库之外,我没有看到其他存储库! - kbsbng
1
@kbsbng 或许在他们实际进行更改/提交之前,那里不会显示任何内容。 - Jorge Israel Peña
这个解决方案是完全错误的。例如,它对于像 https://github.com/jashkenas/underscore/network/members 这样的东西彻底失败 - Tino
@Tino,你能详细说明一下吗?这是我在链接中看到的内容:http://i.stack.imgur.com/C9arQ.png(如果你向下滚动,还有很多很多) - Matt Ball
2
@MattBall 你的回答99%的时间都是有帮助的。然而,它仍然是错误的 ;) 请看一下您截图中的红框。"显示完整网络"!= "仅显示此网络的某些存储库"。请求者明确要求“全部”->因此甚至是“完全错误”和“彻底失败”(抱歉)。无论如何,这不是您的错,因为可能没有确定的答案。我尝试使用api.github.com进行实验,但由于GitHub速率限制,未能找到可用的解决方案。 - Tino
GitHub破坏了这个功能 - 以前对我有效,但现在他们改成只创建一个新的派生,并且删除了查看派生的选项(破坏了他们自己的设计语言 - 很好!)。幸运的是,@djzhao在下面给出了2022年的解决方法 - 现在你需要转到一个单独的页面来访问原始功能。 - Adam

39

现在您可以在 Insights -> Forks 中查看分支。


这个不起作用,它只是显示“未找到分叉存储库”,即使分叉计数为2。 - Scott Franco
你好,@Scott Franco,尝试更改Forks过滤器(周期或存储库类型),然后您将看到结果。 - djzhao
1
打开了所有五种类型,时长两年(我在 Github 上的时间)。没有任何变化。无论如何感谢。 - Scott Franco

11

我从浏览器中发现的一种方法是尝试创建一个拉取请求,然后跨分支进行比较。所有现有的分支都将显示出来。


1
很好的答案 - 在我的情况下,这显示出两个用户都已从GitHub中删除,其中一个是因为DMCA违规,而其他任何途径都没有出现。 - simonwo
不错的技巧,我可以用这种方法找到分支。 - Deepak Deore
这应该是正确答案。比其他答案更有效。 - Doyin Olarewaju

5
上面的接受答案有助于查看已经 fork 了该仓库的账户。为了满足另一个要求,即“查看所做的更改类型”,您需要进入每个单独的 fork 仓库,然后查看比较选项卡(请参见附图)。enter image description here 为了确切了解实际上已更改了哪些文件,您应单击图像中显示的比较按钮。
上述过程是正确的方法,但可能很繁琐。如果您想查看每个 forked 仓库相对于父级 forked 仓库的摘要信息,则可以使用链接https://forkinfo.herokuapp.com/,我在这里公开发布了它,以便根据任何具体要求进行编辑。它从每个 forked 仓库的主页获取信息(从图像中突出显示的部分),并生成关于每个 forked 仓库相对于父 forked 仓库超前或落后的信息。此信息是基于repositories的比较生成。

1

前往您的代码库并单击“Insights”,然后单击“Forks” 选择期间“所有时间” 单击存储库类型下拉菜单并选中如下图片中的选项。 按最近更新排序。

enter image description here

请记住,任何人都可以下载您的存储库而不是分叉。
您不知道那个人会用您的代码做什么。
如果有人分叉您的存储库,通常是GitHub成员的善意姿态,他们希望进行更改,并有时通过发起拉取请求来做出贡献。
其他人可能只想要一个静态副本,以确保没有进行更改。
实际上,人们分叉存储库的原因有无数种。
一旦代码公开,就没有回头路了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接