6

Githubからgitリポジトリのクローンを作成した後、ファイルを開いて変更を加えずにファイルを保存すると、次の出力が表示されますgit diff

-@import "sync.scss";
\ No newline at end of file
+@import "sync.scss";

私が理解しているように、\ No newline at end of file改行が存在しないときにファイルの終わりをマークすることになっています。このdiffは、ファイルの終わりの後に最後の行が移動されたとgitが判断することを意味しますか? これを回避する方法はありますか?コミットにジャンク空白の変更を追加せずに、このプロジェクトに貢献したいと思います。

これは行末の問題のようです。このファイルは元々、Unixの行末を使用してMacに保存されていたと確信しています。これは私が使用しているのと同じ設定なので、保存したときにドキュメントが変更される原因がわかりません。

4

2 に答える 2

5
  • これを回避するには、常に を実行しgit add -p、関連する差分のみを選択して、不要な変更がコミットされないようにしてください。

  • そして、プロジェクトで使用されている規則に一致するようにエディターの設定を変更します。

于 2012-07-10T13:40:49.727 に答える
4

はその\ No newline at end of file上の行に属します (行が で終わっていないことを意味します\n)。現在の行には最後に改行があるようです。そのため、その後に「改行なし」というメッセージが表示されません。そして、なぜ変化があるのか​​。

ジャンクな空白の変更をコミットに追加せずに、このプロジェクトに貢献したいと思います。

(注意:以下個人的見解です)

特に unix/linux 環境で作業している場合は、常に改行でファイルを終了することをお勧めします。これは「がらくた」と見なされる人もいるかもしれません (これについての意見をプロジェクト管理者に尋ねてください)。しかし、posix ツールを使用する場合 (単純なものから始めて)、cat改行がないことはせいぜい迷惑であり、壊れます。最悪の場合、コードを変換するスクリプト。

于 2012-07-10T13:51:31.663 に答える