我正在新节点上运行Jenkins作业。无论是重新克隆存储库还是从另一个工作节点复制存储库,我都会得到:
$ git diff --name-only 27b9a8a4b0269d3796defe00ff56eb835fd3d84b HEAD
fatal: bad object 27b9a8a4b0269d3796defe00ff56eb835fd3d84b
$
关于StackOverflow的其他答案(其中大部分是"坏对象HEAD"而不是我的情况"坏对象$ hash HEAD"),我试过:
$ git fsck --full
Checking object directories: 100% (256/256), done.
Checking objects: 100% (213374/213374), done.
$ git status
HEAD detached at b08bd7495
nothing to commit, working tree clean
$ git log --raw --all | fgrep 27b9a8a4b
$
散列27b9a8a4b ...不会出现在git log输出的任何地方。
有什么建议吗?
答案 0 :(得分:1)
Mea culpa ...我复制了一个Jenkins工作,该工作引用了我自己的存储库分支,但是我首先复制然后手工克隆的存储库是主存储库。获得正确的存储库解决了这个问题。
答案 1 :(得分:0)
可能是类似于“Jenkins Invalid Git Revisions”的情况,其中Jenkins记忆的lastBuiltRevision
引用了不存在的SHA1。
SHA1可能不再存在,因为新git push --force
新历史记录取代了之前的历史记录,导致该特定SHA1过时。