我對git有點新,但我從他們的網站上讀了Git書。 所以我開始在我的服務器上安裝GitLab。Git損壞提交
在第一次提交SVN的導出之前,我正在處理SVN。 我的朋友也在研究同一個項目(他的名字是盧卡斯)。
我創建了一個分支出身的/ dev得到產地/主完全穩定並發展在/ dev。 我也創建了一個分支feature258我正在研究。當我試圖拉起源的/ dev合併我很大的特點之前獲取的變化我有這樣的:
$ git pull origin dev
fatal: object 18c29b4c26d7b0d34719d10ada6901c6024f91e6 is corrupted
fatal: The remote end hung up unexpectedly
看來,18c29b4對象是粉色提交(CF截圖)這隻修改了一下的.gitignore文件
我跑混帳的fsck --full但我有沒有幫助我的線索:
$ git fsck --full
dangling blob 0c87d2eb401651ec3045eb0248d54ed546206dbe
dangling blob 1cd17aadc009ba9d39d1137533d65107ca54da95
blob 0c和1c只是我在feature_258上次提交中修改的一個文件。
我在Google上搜索了3個小時後發現Linus Torvalds方法和其他StackOverflow帖子,但沒有找到一個好的解決方案。
如果能救我,也許我可以在分支變基之前的錯誤提交,並重新做我的工作(我保存在另一個目錄,以確保)
可能重複[如何用我的文件創建的新的替換損壞的Git對象,這很好](http://stackoverflow.com/questions/2183780/how-to-replace-corrupt-git-objects-與新的一個創建從我的文件,其中AR) – 2012-07-17 15:00:18
我不知道明白。我做了:git hash-object -w'file-from-fsck'它告訴我: '95e1180c100930f579854d1fd03f2585eb7e5dc7' 那麼我應該怎麼做?謝謝你以前的回答! – THClem 2012-07-17 15:26:57
損壞的對象位於'origin'上,而不在您的存儲庫中。你必須在那裏運行'git fsck --full' – fork0 2012-07-17 15:35:02