0

プロジェクトのすべての行末を dos モードから unix モードに変更するには、キャリッジ リターンを含むすべてのファイルからすべてのキャリッジ リターンを削除しました。

grep -lIUr '^M' . | xargs sed -i 's/^M//'

のような隠しドットファイルを無視すると思っていました.git/が、そうではなく、私の git リポジトリが壊れてしまいました。

git fsck

与える

Checking object directories: 100% (256/256), done.
error: inflate: data stream error (incorrect data check)
fatal: loose object 62f7323e2a025640a25214f13a670097876c1683 (stored in .git/objects/62/f7323e2a025640a25214f13a670097876c1683) is corrupt

どこにもチェックアウトされたリポジトリの他のコピーはありません。これから回復する方法はありますか?私のレポは死んでいますか?

4

2 に答える 2

1

はい、そうです。すべての ^M がなくなったので運が悪い: 履歴を部分的に復元して別のレポを構築することはできるかもしれないが、それ以上のことはできない.

dos2unix今後は、行末の変換など、より細心の注意を払い、適切なツールを使用してください。

于 2013-05-30T23:22:55.267 に答える