git - Jenkins 错误 : Could not checkout <branch name> with start point <SHA1>

标签 git jenkins version-control continuous-integration gitlab

我从 develop 创建了一个分支分支并为这个新分支配置了一个 Jenkins 作业。实际上,在分支出这个新分支之前,我必须删除 develop 中的现有目录。分支(在本地删除目录,然后提交更改并推送到远程),因此这是 .

强制构建 Jenkins 后出现错误 "Could not checkout <branch name> with start point <SHA1>" .这个 SHA1 是我在通过删除目录分支出这个新分支之前在开发分支上所做的最后一次提交。

我尝试了几种方法,例如重建,清除工作空间,然后重建等,但没有任何运气。尽管 Jenkins 无法 checkout ,但我的本地 git 存储库可以 checkout 到这个新分支并在没有任何问题的情况下进行处理。

我正在努力解决这个问题,但没有取得多大成功,发现了这个 Jenkins 问题,但我不确定是否相同。 https://issues.jenkins-ci.org/browse/JENKINS-26748
有人可以帮我解决这个问题吗?

以下是完整日志...

Started by user anonymous
    Building in workspace C:\Projects\CI_01\Jenkins_1.6\jobs\Velo-TFS675-InvoiceRegister\workspace
    Cloning the remote Git repository
    Cloning repository https://git.mesite.com/EAG/Velo.git
     > C:\Projects\Git\bin\git.exe init C:\Projects\CI_01\Jenkins_1.6\jobs\Velo-TFS675-InvoiceRegister\workspace # timeout=10
    Fetching upstream changes from https://git.mesite.com/EAG/Velo.git
     > C:\Projects\Git\bin\git.exe --version # timeout=10
    using .gitcredentials to set credentials
     > C:\Projects\Git\bin\git.exe config --local credential.username ourbuildusr # timeout=10
     > C:\Projects\Git\bin\git.exe config --local credential.helper store --file=\"C:\Users\BUILD~1\AppData\Local\Temp\git8122784540015506.credentials\" # timeout=10
     > C:\Projects\Git\bin\git.exe -c core.askpass=true fetch --tags --progress https://git.mesite.com/EAG/Velo.git +refs/heads/*:refs/remotes/origin/* # timeout=60
     > C:\Projects\Git\bin\git.exe config --local --remove-section credential # timeout=10
     > C:\Projects\Git\bin\git.exe config remote.origin.url https://git.mesite.com/EAG/Velo.git # timeout=10
     > C:\Projects\Git\bin\git.exe config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
     > C:\Projects\Git\bin\git.exe config remote.origin.url https://git.mesite.com/EAG/Velo.git # timeout=10
    Fetching upstream changes from https://git.mesite.com/EAG/Velo.git
    using .gitcredentials to set credentials
     > C:\Projects\Git\bin\git.exe config --local credential.username ourbuildusr # timeout=10
     > C:\Projects\Git\bin\git.exe config --local credential.helper store --file=\"C:\Users\EAGBUI~1\AppData\Local\Temp\git8122784540015506.credentials\" # timeout=10
     > C:\Projects\Git\bin\git.exe -c core.askpass=true fetch --tags --progress https://git.mesite.com/EAG/Velo.git +refs/heads/*:refs/remotes/origin/* # timeout=60
     > C:\Projects\Git\bin\git.exe config --local --remove-section credential # timeout=10
     > C:\Projects\Git\bin\git.exe rev-parse "refs/remotes/origin/tfs675-invoice_register^{commit}" # timeout=10
     > C:\Projects\Git\bin\git.exe rev-parse "refs/remotes/origin/origin/tfs675-invoice_register^{commit}" # timeout=10
    Checking out Revision 7dc4f9190358c20b01d2980e3ba5c7039ace377c (refs/remotes/origin/tfs675-invoice_register)
     > C:\Projects\Git\bin\git.exe config core.sparsecheckout # timeout=10
     > C:\Projects\Git\bin\git.exe checkout -f 7dc4f9190358c20b01d2980e3ba5c7039ace377c # timeout=10
    ERROR: Timeout after 10 minutes
    FATAL: Could not checkout tfs675-invoice_register with start point 7dc4f9190358c20b01d2980e3ba5c7039ace377c
    hudson.plugins.git.GitException: Could not checkout tfs675-invoice_register with start point 7dc4f9190358c20b01d2980e3ba5c7039ace377c
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$8.execute(CliGitAPIImpl.java:1905)
        at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1060)
        at hudson.scm.SCM.checkout(SCM.java:485)
        at hudson.model.AbstractProject.checkout(AbstractProject.java:1282)
        at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
        at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
        at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
        at hudson.model.Run.execute(Run.java:1741)
        at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
        at hudson.model.ResourceController.execute(ResourceController.java:98)
        at hudson.model.Executor.run(Executor.java:381)
    Caused by: hudson.plugins.git.GitException: Command "C:\Projects\Git\bin\git.exe checkout -f 7dc4f9190358c20b01d2980e3ba5c7039ace377c" returned status code -1:
    stdout: 
    stderr: 
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1640)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1616)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1612)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1254)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1266)
        at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$8.execute(CliGitAPIImpl.java:1881)
        ... 10 more

最佳答案

我还没有看到这个错误,如图所示。当它尝试 checkout 的分支已从远程删除时,我经常看到类似的错误。但是要做的一件事是在 jenkins 工作的 git clone 选项中设置 clean before checkout我们也prune stale remote branches

关于git - Jenkins 错误 : Could not checkout <branch name> with start point <SHA1>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722237/

相关文章:

Github SSH 工作但使用 ssh 克隆失败

maven - 每个作业在 Jenkins 中配置 Maven 安装

java - 构建 SNAPSHOT 依赖项时如何触发具有多个分支的 jenkins maven 作业?

git - 在交互式 rebase 之后,本地 Git 分支已经偏离原点

version-control - 免费的 “Personal”源代码控制系统?

Git: gnutls_handshake() failed: pull 函数出错

git - 如何在已经使用 bash/mv 移动 Git 中的文件后将其 "rename"

git - 在 Git 中,如何提交文件一次,但忽略对文件的进一步更改

regex - 从文件结果中提取文件名 ansible

.net - 删除 Team Foundation Server 2010 中的分支映射