为什么Linux内核存储库只有一个分支? [英] Why does the Linux kernel repository have only one branch?

查看:12
本文介绍了为什么Linux内核存储库只有一个分支?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Linux初学者,如果这是您听过的最明显的问题,请原谅。

https://github.com/torvalds/linux/branches/all

推荐答案

主线内核

首先:不要使用GitHub链接(它只是一个镜像)。实际的存储库位于kernel.org。您可能希望使用Linus Torvalds的树,它是torvalds/linux.git

它被称为主线内核,这意味着这棵树是实际开发下一个内核版本的地方。虽然它只有分支,但您可以使用标记签出到任何内核版本。此命令将显示所有版本标记:

$ git tag

您可以像这样结账到所需的标签:

$ git checkout v4.0
不需要在主线内核的一堆分支中,因为这棵树中的开发过程从未停止,一旦发布新版本,就不会有任何向该版本的向后移植(在主线树中)。因此,在本例中,Linus坚持使用标记(而不是分支)。

稳定内核

还有linux-stable树。稳定意味着在发布后,一些错误修复将被重新移植到它。在此树中,您应该查找分支(而不是标记):

$ git branch -a

您可以看到如下所示的分支:

linux-4.9.y

其中y后缀只是错误修复版本的占位符(因为命名方案是linux-4.x.y)。只要您看到y后缀--它就是一个稳定的内核分支。其中一些分支是LTS内核(有关详细信息,请阅读this)。

在这种情况下需要分支,因为开发人员必须将一些错误修复移植到发布的版本中。因此,在这里仅有标签是不够的。

下一个内核

还应该提到的是,有linux-next树。以下是kernel process documentation中的描述:

在将来自子系统树的更新合并到主线4.x树之前,需要对它们进行集成测试。为此,存在一个特殊的测试存储库,几乎每天都会将所有子系统树拉入其中:

https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git

通过这种方式,-next内核给出了在下一次合并期间预期进入主线内核的内容的概要展望。非常欢迎有冒险精神的测试人员在运行时测试-next内核。

维护器树

回到树上去。其实有很多,叫维护树。您可以看到全部here

您需要了解合并策略:只有Linus可以真正将代码合并到主线树中。您可以在git日志中看到他的许多合并提交。因此,如果您希望将您的补丁应用于主线内核,您需要首先将其发送到kernel mailing lists进行审查。请参见Documentation/SubmittingPatches。一旦相应的子系统维护人员检查并确认了您的补丁程序,他就会将其应用到自己的树中。在接下来的merge window期间,该补丁将合并到主线内核中。介绍了Linux内核开发模型here

如果您有兴趣上传您的修补程序--您可能还需要查看kernelnewbies.org材料。

这篇关于为什么Linux内核存储库只有一个分支?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆