我照顧了公司的Git存儲庫。我們使用Gitosis來管理Git存儲庫。我通過git clone [email protected]:repo
克隆一個存儲庫,並且根本找不到一些提交。 git show <commit>
返回fatal: bad object f723e2ea9af0e380158d90c36e21a60991760d31
。當通過SSH進行克隆時,Git提交失敗
的對象是以下,只有一包文件:
$ tree .git/objects/
.git/objects/
|-- info
| `-- packs
`-- pack
|-- pack-4d930eca23ad902fc4a4809d01b86c4217b0b262.idx
`-- pack-4d930eca23ad902fc4a4809d01b86c4217b0b262.pack
2 directories, 3 files
我找不到在包文件中的承諾:
$ git verify-pack -v .git/objects/pack/pack-4d930eca23ad902fc4a4809d01b86c4217b0b262.idx | grep f723e2e
$
當我使用克隆庫Git的服務器上本地文件系統,提交在那裏,可以檢出。
我能找到的承諾(第一個):
$ ls .git/objects/f7/
23e2ea9af0e380158d90c36e21a60991760d31 84f33d44863cbe6ca4ae03cddcc673048f04bb
3b1ef7031d634b4aa443925dd29cc779356caa 9807359a1c65f312a1d4642e5191416443e20b
6fbd26fccc5a8e89f221c9196eb8083e73632e
如何通過SSH克隆時,我的用戶得到的所有提交?
檢查遠程回購的一致性,這似乎是莫名其妙地壞了(錯誤消息說片缺失)。 – vonbrand 2013-02-18 06:25:04