1

前回のコミットとは別のコンピューターからコミットするたびに (同じアカウント、別の SSH キー、ただしすべて Github for Windows を使用)、次のような結果が得られます。違いは、ファイル全体が書き換えられていることを示しています。

https://github.com/Yttrium-tYcLief/Scrotter/commit/0c012c51bae0db198a10a5fc73294c2eb04d1ea0

クライアント側では、GH for Windows で新しいコミットを同期する前に正しく表示されますが、コミットが同期されると、クライアント (および他のすべてのクライアント) で差分フィールドに書き換え全体が表示されます。

これを修正する方法はありますか?

4

1 に答える 1

1

それらのどれも、Unicode エンディングで保存すべきではありません。

おそらく、文字エンコーディング改行の概念が混在している可能性があります。

ファイルの 2 つのバージョンを比較すると、どちらも UTF-8 でエンコードされているため、問題はありません。他の人が示唆しているように、問題は行末にあります。その最後のコミットで、UnixLFの行末から WindowsCRLFの行末に切り替えた方法の一部です。

LFWindows マシンであっても、Unix の行末に固執するのが最も簡単であることがわかりました。LFデフォルトで行末を使用するようにテキスト エディタを設定しています。CRLFそれ以降、なんらかの理由で行末をコミットしようとすると、 git で視覚的に表示されますgit diff

crlf

于 2013-01-23T01:14:05.550 に答える