[...] 大多数情况下,它们在各自的标签方面是不相交的。
它们最好不要相交或者出现其他问题!这些标签代表着官方的Linux版本,带有前缀
v
。像
v4.19
这样的两部分版本是Torvalds的提交之一。Linus还会标记/发布
-rc
候选版本。(这样人们就可以测试和修复,他只需要合并即可;)。
kernel.org
在起始页面上称其为“主线”,并在下方列出了“稳定”和“长期支持”。这些版本号有三个部分,现在从
v4.4.228
-
v5.14.11
。
进化树看起来像这样,中间有空隙:
LONGTERM
5.4.1 -- 5.4.152 - ...
/
... - 4.4 -- 4.19 - 4.20-rc1 - 4.20 - 4.21 -- 5.4 -- 5.10 -- 5.14 - 5.15-rc5 - ... MAINLINE
\ \
4.4.1 - 4.4.2 -- 4.4.228 - ... \
LONGTERM 5.14.1 - 5.14.11 - ...
STABLE
现在有2个稳定版本和6个长期支持版本。这些由“稳定组”在一个带有许多分支的单独存储库中进行管理:
- master:新的分支点(vX.Y,而不是候选版本)
- linux-5.14.y:每个主线发布版本,从2.6开始。
- rolling:稳定版和长期支持版(-stable/lts)
这两个“rolling”分支是为实际目的而设立的:在该分支上,可以出现新的v5.14.5
或v5.13.18
。这些分支中的标签由S. Levin维护,而G. Kroah-H.则进行主要的“linux-....y”分支提交。
以下是在三个分支中有四个版本的情况下,git log --oneline --graph
的显示效果:
* 3cbd3f978 (tag: v5.10.72, Stable-510.y) 5.10.72 (archive)
| * 4c33b80bc (HEAD -> Stable-514.y, tag: v5.14.11) 5.14.11 (archive)
| * 3bb9b4940 (tag: v5.14, Mainline) 5.14 (archive)
|/
* ecfd56a3c (tag: v5.10) 5.10 (archive)
* 8a877cbd4 (tag: v5.4) Init with tar archive 5.4
5.10有一个主线版本5.14和一个稳定版本5.10.72。在下一个主线提交(v5.15)之后,祖先关系应该变得更加明显。
在.git/objects/pack
中需要400MB的空间。除了所显示的内容外,没有提交记录,但是git diff
可以使用。
--> 你可能不需要克隆就能获得感兴趣的新“每月”内核。您可能想要使用v5.10.72、73、74而不是编译和运行v5.14,然后很快开始5.15的工作。
发行版还会采用稳定的内核并进行半秘密修改:例如5.11.2-arch1-1
。