为什么 git master 分支中的代码没有出现在任何最近的标签中?

Why does code in git master branch not appear in any recent tags?

我从 github 查看 zfsonlinux 代码:

# git clone https://github.com/zfsonlinux/zfs

我得到 "master" 分支(用 "git branch" 确认)。我相信,这不是任何形式的 "tag"ged 版本,而是代表代码在发展过程中的当前状态。 (如果我错了请纠正我。)

此代码包含对加密的支持,我可以通过查看手册页 zfs/man/man5/zpool-features.4 的存储库文件来验证这一点。

存储库中有相当多的标签,如 "git tag" 所示。以下是列表中的最后一个:

... zfs-0.7.0 zfs-0.7.0-rc1 zfs-0.7.0-rc2 zfs-0.7.0-rc3 zfs-0.7.0-rc4 zfs-0.7.0-rc5 zfs-0.7.1 zfs-0.7.2 zfs-0.7.3 zfs-0.7.4

如果我 "git checkout tags/" 这些标签中的任何一个,并查看代码,它们不包含加密功能。这让我很困惑。如何创建不包含加密代码的标签(如 zfs-0.7.4),当加密代码很久以前就放在 master 分支中(基于对 master 的 "git log" 的审查)?

标记版本基于与不断发展的 master 分支不同的代码库似乎不是一个好主意,但我认为这是可能的。是这样吗?我没有看到 select 将主分支的某些功能放入标记 "release" 的机制。很可能我在思考非 git 范式。

加密由 commit b52563034 on branch master AFTER release 0.7.0 添加。
最近的标签只是 0.7.X 的错误修复,并且是在分支 zfs-0.7-release 上创建的,它自 0.7.0 版提交以来与 master 分道扬镳,并且不包含自分支创建以来在 master 上创建的提交。

所以加密将在下一个主要版本(我猜是 0.8.0)中可用。