3

64 ビット Linux の Eclipse Juno で EGit を使用していますが、変更されていないにもかかわらず、多くのファイルが変更されていると表示されます。これは、過去にこのリポジトリを Windows でチェックアウトしたことが原因である可能性があります。core.autocrlf とワークスペースの設定を際限なくいじった後、行き詰まりました。

EGit でファイルが変更されていないことを正しくマークするにはどうすればよいですか?

4

1 に答える 1

1

これは、ここで議論されているかなり複雑な問題によって引き起こされます: http://www.mail-archive.com/git@vger.kernel.org/msg09439.html

簡単な説明は、元はリポジトリにバイナリとして (CR 付きで) 保存されていたファイルがテキストとして処理されるようになったため、git はそれらのファイル (CR なしで) をチェックサムし、チェックサムが一致しないために変更されたように見えるということです。

残念ながら、git はファイルがリポジトリにテキスト モードで格納されているかバイナリ モードで格納されているかを認識していないため (git ファイル形式の仕様にはありません)、この問題を効率的に修正することはできません。それらのファイルをテキストとして再コミットすることでリポジトリを「修正」する必要があることが期待されます。

これらのファイルの行末を変換するために git を必要としない場合、問題に対処する別の方法は、それらのファイルをバイナリとして扱うように Linux リポジトリを設定することです (たとえば、「バイナリ」行を「.gitattributes」に追加します)。 " ファイル)。

于 2013-04-04T17:51:34.170 に答える