如何通过查看 github 的网络图来选择要使用的正确分支/分支?



我需要使用在github上公开可用的第三方代码。我正在查看该代码的 github 网络图,我可以看到其他分支有一些未合并到原始存储库中的提交。

应该如何确定哪个分支/分叉适合我?

请在遇到此类问题时征求您的考虑。

正如John Feminella所建议的那样,人们应该始终使用(通常是稳定的("项目的已发布版本"。

我当然同意这一点,但这个问题在以下情况之一中仍然相关:

  • 原作者不再维护该代码。
  • 我需要的一个功能没有在原始版本中实现,但在多个分支中以不同的方式实现
  • 代码仍处于开发阶段,每个分支都与原始代码有一些差异(无论是在功能上,还是在开发决策和实现上(

我遇到过很多次这样的情况,目前原作者仍然试图保持 repo 的维护,但似乎他没有足够的时间,其他分叉更活跃。没有一个叉子被宣布为足够稳定,可以用于生产用途。上次我遇到这种情况时,原始存储库也没有实现对我很重要的功能。

因此,在这种情况下,我需要选择最稳定的分支,尝试在我的代码中使用它,对其进行彻底测试,并可能贡献一些改进以使其稳定。

更新:OP澄清了他的原始问题,以表明有问题的项目已经死亡。

鉴于一个项目已经死了并且它有 N 个分叉,选择"最佳分叉"的常用策略取决于许多因素:

  • 有没有人宣布他们将接管项目的维护?在邮件列表、公共论坛等(不仅仅是在 GitHub 上(搜索新闻。如果是这样,请开始遵循该分叉。

  • 网络图上是否有来自另一个分叉(而不是master(的提交?如果是这样,这表明支持正在围绕另一个分支合并,作为死项目的可能替代品。

  • 如果其中任何一个都不起作用,请再做一些挖掘:是否有前段时间分裂的项目变体以及现在正在围绕哪些支持组织?如果是这样,也许其他项目将满足您的需求。

如果做不到这一切,有时项目就没有支持来继续下去。如果是这样,也许是时候挠自己的痒了!


原答案:

对此有几点评论:

  • 通常,您应该使用项目的已发布版本,而不是选择特定的分支或分支。如果不这样做,则每次项目使用新提交更新时,依赖项都会更改,这可能会导致在您自己的代码中难以找到错误。

  • 如果您决定始终想要最新版本并且可以接受其风险,请使用该项目的master分支,因为这是官方分支。这将是您访问存储库主页时查看的默认分支。

  • 人们通常会分叉存储库,以对原始代码库进行某种修改并征求反馈。

  • 因此,除非您
  • 正在合作进行该修改,或者除非您对抢先体验该特定修改特别感兴趣,否则您无需担心其他分支。

在极少数情况下,项目的官方主线开发分支会被称为 master 以外的其他名称。在这种情况下,您应该查阅自述文件以了解您应该查看哪个分支。

完成约翰的回答。

我正在使用 http://gitpop.heroku.com 这对于查找最流行和最活跃的分叉很有用。它非常简陋,但它可以完成工作。

编辑:与 2014 年 3 月一样,GitPop 坏了,所以我自己写了,因为它对我有用。https://gitpop2.vercel.app

最新更新