环境变量IGNORE_NORMALISATION_GIT_HEAD_MOVE有什么作用?

What does the environment variable IGNORE_NORMALISATION_GIT_HEAD_MOVE do?

我有一个使用 GitVersion.MsBuild 的 C# 代码库。有时我的 Jenkins 构建服务器会给我这个错误:

GitVersion.BugException: GitVersion has a bug, your HEAD has moved after repo normalisation.
To disable this error set an environmental variable called IGNORE_NORMALISATION_GIT_HEAD_MOVE to 1

这经常发生在构建一个不基于最新 master 的功能分支时(即,master 在创建功能分支后已经移动)。

错误信息描述了一个建议的fix/workaround,但是我犹豫要不要这样做,因为我不知道什么环境变量IGNORE_NORMALISATION_GIT_HEAD_MOVE ,我在任何地方都找不到它的描述。

如果我将 IGNORE_NORMALISATION_GIT_HEAD_MOVE 设置为 1,这会有什么副作用?

提前致谢!

编辑:我在an issue on GitVersion's GitHub中问了同样的问题。

根据 GitVersion 的维护者的说法,这个变量只是抑制了 BugException,否则在这种情况下会抛出。

在此处查看问题:https://github.com/GitTools/GitVersion/issues/2934