如何给软件起版本号?
当你在开发维护一个软件项目时,不可避免要加版本号以做发布。不同人有不同的做法,这里我们学习一下Linux kernel标记版本(即打tag)的方法,以供借鉴参考。
初次接触Linux kernel仓库,会发现其commit历史各种merge,错综复杂。但如果仔细研究其打的tag和开的branch的话,你会发现它是有一条很清晰的规律。
Linux kernel不是一个仓库,而是有很多个仓库,其中最主要的有两个:
- mainline仓库 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
- stable仓库 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
mainline仓库只有一个master
branch,而stable仓库则有非常多的branch,例如master
,linux-5.8.y
,linux-5.4.y
,linux-4.19.y
,linux-4.14.y
,等等。
有人问是不是还有longterm仓库?