git 头中的数字

Numbers in git HEAD

我正在编译 Openembedded,一开始我们可以看到:

meta-python       = "HEAD:1efa5d623bc64659b57389e50be2568b1355d5f7"
meta-lxde         = "HEAD:9c1501dcb95a8601c8d1fad73c1fcae2886c0377"
meta-browser      = "HEAD:1edcce7791b4cee9a515c1f11b351753a4f8b12e"
meta-qt4          = "HEAD:2c7f8df9039be498f8a2232d1428adb7f4e5e800"
meta-qt5          = "HEAD:9aa870eecf6dc7a87678393bd55b97e21033ab48"
meta-freescale-distro = "HEAD:ae27e8a8a068b960d6c1219f50b2e8ccc97f0bea"
meta-toradex-demos = "HEAD:9fa810182cbb085554ad3a596db6dbf1fc9a0a73"
meta              = "HEAD:c8d96b10ee3bc2eae0fd269d2564286fd0bc82ed"
meta-pjproject    = "<unknown>:<unknown>"

数字写在每个文件夹的.git/HEAD中。但是根据 this question 它必须是这样的:

$ cat .git/HEAD
ref: refs/heads/master

为什么会有奇怪的数字?

Why is there strange numbers?

这是构建系统通知正在构建什么的方式。

我们来看看其中的一行

meta-python       = "HEAD:1efa5d623bc64659b57389e50be2568b1355d5f7"

当您触发构建命令时,我猜 bitbake <some-machine>,构建系统会一直运行到函数 base_get_metadata_git_revision,它运行 git 命令 git rev-parse HEAD , 从而得到小费 SHA.

在你的例子中,当你得到这个日志时,你的 meta-openembedded 提示提交是 this one

请注意,meta-python 是 meta-openenbedded git 中的一个子目录,这就是你获得 meta-python.[=16 的 meta-openembedded SHA 的原因=]