2017-09-05 75 views
1

我在新節點上運行Jenkins作業。無論我克隆庫的新鮮或從另一個工作節點複製它,我得到:

$ git diff --name-only 27b9a8a4b0269d3796defe00ff56eb835fd3d84b HEAD 
fatal: bad object 27b9a8a4b0269d3796defe00ff56eb835fd3d84b 
$ 

繼在計算器上其他答案(其中大部分是關於「壞對象HEAD」,而不是我的情況「不好對象$哈希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輸出的任何地方。

有什麼建議嗎?

+1

我不確定問題是什麼,但我確信這是一個Jenkins的事情,而不是Git的事情。更準確地說,你的詹金斯鎖定了一些實際上不存在的哈希ID。不知何故,你需要推動詹金斯獲得一個好的哈希ID,無論詹金斯是什麼「好」,並且不會讓這個錯誤通過。 – torek

回答

1

Mea culpa ...我複製了一個Jenkins作業,它引用了我自己的存儲庫分支,但是我首先複製並手動克隆的存儲庫是主存儲庫。獲得正確的存儲庫解決了問題。

+0

很好,比我的答案更準確。 +1 – VonC

0

它可能是一個類似於「Jenkins Invalid Git Revisions」的情況,其中由Jenkins存儲的lastBuiltRevision引用了不存在的SHA1。

由於新歷史記錄的git push --force替換了前一個歷史記錄,因此SHA1可能不再存在,因此將該特定SHA1過時。

相關問題