之后git init,我添加并提交了一些文件,進行了一些更改,添加并提交了。設置git守護程序(在WinXP上的Cygwin下運行)并克隆存儲庫一次?,F在,我在克隆的存儲庫中收到此錯誤:$ git statuserror: bad index file sha1 signaturefatal: index file corrupt除了獲取存儲庫的新副本之外,還有什么方法可以解決此問題?
3 回答

心有法竹
TA貢獻1866條經驗 獲得超5個贊
如果問題在于索引是提交的暫存區域(即.git/index),則可以簡單地刪除索引(如果需要,可以創建備份副本),然后在上一次提交中將索引恢復為版本:
在OSX / Linux上:
rm -f .git/index
git reset
在Windows上:
del .git\index
git reset
(reset上面的命令與相同 git reset --mixed HEAD)
您也可以使用較低級別的管道 git read-tree代替git reset。
如果問題出在packfile的索引上,則可以使用進行恢復git index-pack。

慕妹3146593
TA貢獻1820條經驗 獲得超9個贊
您可能在項目根目錄上使用sed意外損壞了.git / index文件(可能在重構嗎?),如下所示:
sed -ri -e "s/$SEACHPATTERN/$REPLACEMENTTEXT/g" $(grep -Elr "$SEARCHPATERN" "$PROJECTROOT")
為了避免將來發生這種情況,只需使用grep / sed忽略二進制文件即可:
sed -ri -e "s/$SEACHPATTERN/$REPLACEMENTTEXT/g" $(grep -Elr --binary-files=without-match "$SEARCHPATERN" "$PROJECTROOT")
- 3 回答
- 0 關注
- 1772 瀏覽
添加回答
舉報
0/150
提交
取消