ページへ戻る

− Links

 印刷 

git でエラーが出てにっちもさっちも行かなくなった時の対処法 :: XOOPS マニア

UsersWiki:nao-pon/blog/2012-05-20


RSS of nao-pon/blog[5]
2012 5月 20 (日)
 

git でエラーが出てにっちもさっちも行かなくなった時の対処法 anchor.png[6]

Tag: git[7] github[8] Eclipse[9] EGit[10] トラブル[11]

elFinder の開発中に Eclipse の EGit での git 操作でエラーになって、にっちもさっちも行かなくなってしまった。

エラーメッセージは "missing ...." とかで、どうにもならない。

しょうがないので、シェルで git コマンドを叩いてみた。

参照
Gitを使いこなすための20のコマンド[12]
git fsck
リポジトリの正当性チェックを行う。
リポジトリがもし破損した可能性がある場合、「git fsck」で破損している個所を検出できる。
Gitの「danglingオブジェクト」
「git fsck」では、「danglingオブジェクト」と呼ばれるテンポラリオブジェクトも検出される。danglingオブジェクトはリポジトリに変更を加える際に作成される中間ファイルのようなもので、たとえば「git add」で追加したファイルに別の変更を加えてコミットした場合などに残されるものだ。このファイルはストレージ容量を消費するものの、残っていても大きな害はないため、無視して構わない。また、後述の「git gc」コマンドを実行することで、一定期間(デフォルトでは2週間)よりも前に作成されたdanglingオブジェクトを破棄することができる。
$ git fsck
dangling tree f2aa9f225c19fe2134023bd6b85852600571f493
dangling blob 732fc7f95bacf6e98a00fca8f80554185c3aa0b5
dangling blob 47cfd532f8aaddea27a8175a35c3df436813115c
dangling blob da6062cc398bff67927c940acbdfa70653ef9c3b
dangling tree 44e2c0f72929efb9127943462cec37912100dc31
dangling tree 3c6c96f6548fee7f6551daa95cdf8fbdde557aab

なにやら、ややこしそうだったので

$ git gc

してみた。

Counting objects: 11524, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2931/2931), done.
Writing objects: 100% (11524/11524), done.
Total 11524 (delta 8589), reused 11338 (delta 8436)

もう一度

$ git fsck

何もエラーメッセージはなし!やったぁ!直った!

即座に、Ecripse でも操作できるようになりました。めでたし、めでたし。 :-D



Last-modified: 2012-05-20 (日) 22:18:21 (JST) (4603d) by nao-pon