1. ホーム
  2. git

[解決済み] No newline at end of file "のログはどういう意味ですか?

2022-03-16 01:50:25

質問

を行う場合 git diff と書いてあります。 "ファイルの最後に改行がありません" .

このメッセージの意味と、私たちに伝えようとしていることは何でしょうか?

どのように解決するのか?

改行がないことを表します(通常は '\n' 別名CRまたはCRLF)をファイル末尾に追加します。

つまり、簡単に言えば、ファイルの最後の1バイト(Windowsなら1バイト)は改行ではないということです。

このメッセージが表示されるのは、そうしないとファイルの最後に改行があるものとないものを区別する方法がないからです。Diff はいずれにせよ改行を出力しなければならず、そうでなければ結果は読みにくく、自動処理もしにくくなります。

なお、ファイルフォーマットで許可されている場合は、常に改行を最後の文字として置くのが良いスタイルです。さらに、たとえばCやC++のヘッダーファイルでは、言語標準によってそれが要求されます。