執行 git commit 時遇到:
Error occurred computing Git commit diffs
Missing unknown 0000000000000000000000000000000000000000
該錯誤表明 Git 嘗試對比的提交對象(通常是父提交)不存在於本地倉庫。常見場景:
git clone --depth=1 只拉取最新提交,歷史斷裂導致找不到父提交。git filter-branch / BFG 重寫歷史後未同步。git fetch --unshallow
git fetch --all --prune
git reset --hard origin/<branch> # 謹慎操作,會丟失本地未推送提交
git submodule update --init --recursive --force
cd .. && rm -rf repo && git clone <url>
--depth=1,或構建前執行 git fetch --unshallow。push --force),改用 push --force-with-lease。git gc 維護倉庫健康。核心原則:確保本地擁有完整的提交鏈,Git 才能正確計算差異並生成提交對象。