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

Xun*_*uni 8 branch fork github branching-and-merging

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

应该如何决定哪种分支/叉适合我?

请在面对这样的问题时提出您的注意事项.

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

我当然同意这一点,但这个问题仍然与下列案件之一有关:

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

我曾经多次遇到这样的情况,目前原作者仍然试图维持回购,但似乎他没有足够的时间,其他的叉子更活跃.没有宣布任何叉子足够稳定以供生产使用.上次我遇到这样的情况时,原始存储库也没有实现对我来说很重要的功能.

因此,在这种情况下,我需要选择最稳定的fork,尝试在我的代码中使用它,彻底测试它并可能做出一些改进以使其稳定.

Joh*_*lla 7

更新: OP澄清了他原来的问题,表明有关项目已经死亡.

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

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

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

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

没有做到这一点,有时项目只是没有继续支持.如果是这样,也许是时候抓挠自己的痒了!


原始答案:

对此有一些评论:

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

  • 如果你决定总是想要最新的版本并且你可以承担风险,那就使用项目的master分支,因为那是官方分支.当您访问存储库的主页面时,这将是您正在查看的默认分支.

  • 人们通常会分叉存储库来制作并征求对原始代码库进行某种修改的反馈.

  • 因此,除非您正在协作进行修改,或者除非您特别关注早期访问该特定修改,否则您无需担心其他分支.

在极少数情况下,项目的官方主线开发分支将被称为其他东西master.在这种情况下,您应该查阅README以了解您应该查看哪个分支.

  • 完成约翰的回答.我最近发现了http://gitpop.heroku.com/,它对于查找最流行和最活跃的分叉非常有用. (2认同)

And*_*ras 5

完成约翰的回答.

我正在使用http://gitpop.heroku.com,这对于查找最受欢迎和活跃的分叉非常有用.这是非常简陋的,但它确实有效.

编辑:截至2014年3月,GitPop已经破产,所以我写了自己的,因为它对我有用. http://gitpop2.herokuapp.com