2013-05-10 67 views
0

我讀過無數Q &在這裏關於恢復破損的git存儲庫。Git找不到sha1 - 我可以取消歷史記錄並重新開始嗎?

git gsck,git cat-file -s <sha1>git gc --aggressivegit repack -a -f等等。我甚至嘗試從遠程(github)再次克隆。我已經嘗試過它們,仍然會損壞並丟失文件(是的,甚至在github上)。

你能幫我開始新鮮嗎?如果到現在爲止我不關心歷史,那麼歷史上的任何事情都會發生核攻擊並開始新鮮事的命令是什麼?

這裏是最近的嘗試:

~> git repack -a -f 
Counting objects: 13150, done. 
error: unable to find 25cf6740ca26d90a932e59e1337425d7f227a8a8 
error: unable to find 26cf4dfed14d3230854008c483982b0b8727ccd1 
error: unable to find 41dc657cfca10511a2351b18aaff054504fb9c31 
error: unable to find 8bb2dff3a758d12603f4340d4da7eb6c3144749d 
error: unable to find cf59f4bbfacb6ac791e3aa1f0c39b3e8d468964b 
Delta compression using up to 2 threads. 
Compressing objects: 100% (13041/13041), done. 
fatal: unable to read 26cf4dfed14d3230854008c483982b0b8727ccd1 
+0

你有多少個分支?你能用'git log --oneline --all --graph --decorate'看到它們嗎?你能用'git checkout '來切換它們嗎? – 2013-05-10 22:26:47

+0

然後你是否可以選擇一個分支並執行'git whatchanged'並一直回溯歷史?如果是這樣,當仍然在尋呼機中時,您可以執行'/ 25cf67 | 26cf4d | 41dc65 | 8bb2df | cf59f4'來查看它們是否是提交或文件(這裏沒有顯示樹)。也許他們都在最近的犯下,你可以重新回到他們面前,所以你不必失去所有的東西*。 – 2013-05-10 22:30:41

回答

1
mkdir clean_repo 
cd clean_repo 
git init 
cp -r ../bad_repo/. . 
git add 
git commit 

這將使一個新的回購,再從老回購(減去.git)複製文件。 「修復」GitHub回購

git remote add origin [email protected]:antirez/redis.git 
git push -f origin master 
+0

我是否還必須創建一個新的github存儲庫?或者我還可以連接到現有的項目嗎? – Ryan 2013-05-11 18:44:46

相關問題