8

以前は正常に動作していたOSXサーバーにgitリポジトリがあります。ファイルを追加してコミットし、コンテンツをラップトップにプルすることができました。

これで、サーバーにSSHで接続しgit commitgit statusリポジトリで実行すると、コマンドラインに表示されるのは。だけですbus error

git logそれでも正しく動作し、通常の出力が得られます。

同じサーバー上の他のリポジトリでは両方とも機能するため、リポジトリに問題があると推測していgit commitますgit status

これをデバッグ/修正するにはどうすればよいですか?

更新:問題が発生する前に最後に作成したディレクトリを再作成しました。それは私がgit status再びすることを可能にしました!

git commit -aただし、その直後に実行すると、次のエラーが発生しました。

fatal: Unable to create '/path/to/repo/.git/index.lock': File exists.

If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.

次に、index.lockファイルを手動で削除しましたが、問題は解決しました。

何が悪かったのかわかりません。何か案は..?

4

2 に答える 2

5

Bus errorメモリの問題を示します。それは、ディスク上の破損したファイル、gitプログラムのバグ、またはメモリ、メモリコントローラなどの障害のような単純なものである可能性があります。

コンピューターでメモリテストツールを一晩実行できる場合は、メモリとコントローラーの障害を除外するのに役立ちます。(また、奇妙な、または大規模なコンパイル中、または他のプログラムのランダムなクラッシュでそれらを見つける可能性がありSIGBUSますSIGSEGV...)

ラップトップのクローンからサーバー上にリポジトリを再作成して、正しく機能するかどうかを確認できますか?私の推測では、リポジトリが破損しており、適切なクローンに置き換える必要があります。

于 2011-04-03T00:13:17.950 に答える
1

macOS Sierra(10.12.3)の基盤となるファイルシステムに問題があるため、この問題が発生しました。基本的に、何らかの理由で暗号化された.dmgが破損しました-hdutilsで拡張されたためだと思います。

DiskUtilityはファイルシステムの問題を診断しましたが、修復できませんでした。

私が見つけた唯一の解決策は、イメージを再作成し、リポジトリのクローンを再作成することでした。

于 2017-02-16T15:21:06.200 に答える