jenkins CI 和 GIT 插件-某个时刻的“分离头”状态

jenkins CI 和 GIT 插件-某个时刻的“分离头”状态

一些“GIT 大师”可以在这里简单看一眼吗?

我们使用 jenkins CI 进行简单部署。大多数作业都使用“GIT 插件”,但这存在一些问题。即使我们将插件设置为跟踪“master”分支。在某个时候,我们最终会在构建目录中出现“分离状态”。

像这样。

root@jinx [...]/workspace/build # git branch -a
* (detached from 12dbf9b)
  remotes/origin/dev
  remotes/origin/master

构建过程没有报错,这是GIT插件的日志。

 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url [email protected]:q3i/our-repo.git # timeout=10
Fetching upstream changes from [email protected]:q3i/our-repo.git
 > git --version # timeout=10
 > git fetch --tags --progress [email protected]:q3i/our-repo.git +refs/heads/master:refs/remotes/origin/master
 > git rev-parse origin/master^{commit} # timeout=10
Checking out Revision 12dbf9b8eb8fd71580f874ae963162f72221e577 (origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 12dbf9b8eb8fd71580f874ae963162f72221e577
 > git rev-list 58f1f1ae97628a0b5f2d5e3090a24416c7952f0e # timeout=10

我看到分离的提交 12dbf9b 实际上是 HEAD。这是预期状态吗?从 jenkins GIT 插件的角度来看,这样做有什么好处?

感谢您提供的一些新的 GIT 知识:-)

答案1

很难说在没有看到你的 Jenkins 配置的情况下这是否是预期的,但这实际上意味着 Git 直接签出了特定的提交,而不是通过分支名称,所以没有什么固有地这种情况是好是坏。根据您正在运行的插件及其配置方式,这可能是正常的,也可能不是正常的。

相关内容