11

我们使用 Jenkins 作为我们的 CI 引擎,它知道如何监控 git 存储库。出于某种原因,我通常会看到

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/X/workspace
Checkout:workspace / /var/lib/jenkins/jobs/X/workspace - hudson.remoting.LocalChannel@844d88
Using strategy: Default
Last Built Revision: Revision 8422864a9745535d808435bd33ece764fd250358 (origin/HEAD, origin/master)
Fetching changes from 1 remote Git repository
Fetching upstream changes from gitosis@...
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Commencing build of Revision c1e71af117df3cd63da972f361ad260af6f16bf5 (origin/HEAD, origin/master)
Checking out Revision c1e71af117df3cd63da972f361ad260af6f16bf5 (origin/HEAD, origin/master)
Warning : There are multiple branch changesets here
Parsing POMs
Modules changed, recalculating dependency graph

我的问题是,“警告:这里有多个分支变更集”行实际上是什么意思?

4

1 回答 1

16

我不是 Jenkins 专家,但我发现这个问题似乎可以解释警告:

https://issues.jenkins-ci.org/browse/JENKINS-6856

詹金斯似乎建立在分离的头状态,当它检查一个远程分支(在这种情况下是源/主)时会发生这种情况,我猜这个警告是由于 HEAD 没有指向本地分支。所以詹金斯实际上创建了一个匿名分支。

编辑:在 Github 上进行了代码搜索,并在 Jenkins 的 GitSCM 插件中找到了生成此警告的方法。看这里

如果修订版(您可以在另一个名为 git-client-plugin 的 Jenkins 插件中看到)有多个指向它的分支,则 GitSCM 插件会警告存在多个分支。修订版是正在构建的 git 提交,在 git 中完全有可能有多个分支指向同一个提交。

修订类的注释解释了它:

修订是对象树中的 SHA1,以及共享此 ID 的分支集合。与其他 SCM 不同,git 在同一个提交中可以有 >1 个分支点 。

于 2013-02-19T16:25:51.963 回答