[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
質問事項
新しいrailsアプリケーションを作成すると、LFの置き換えに関する警告がgitに表示されるのですが。私は git init git add .
で、ドーン!です。ほとんどすべてのファイルでこのポップアップを見ることができます。私は通常、そのままアプリケーションをビルドし続け、ファイルを何度も変更すると消えます。
例
このファイルは、作業ディレクトリにある元の行末を持つことになります。 警告 Gemfile では、LF は CRLF に置き換えられます。
このファイルは、作業ディレクトリ内の元の行末を持つようになります。 の警告を表示します。Gemfile.lock の LF は CRLF に置換されます。
このファイルは、作業ディレクトリ内の元の行末を持つようになります。 警告 READMEでは、LFはCRLFに置き換えられます。
LFとCRLFの違いは何ですか?
長い目で見て気にした方がいいのか、それとも無視していつも通りにした方がいいのか?
解決方法は?
Unixシステムでは、行の終わりはラインフィード(LF)で表されます。Windows では、行はキャリッジリターン (CR) とラインフィード (LF) で表現されます。
Windows マシンで作業しているひとりの開発者が、git が自動的に LF を CRLF に置き換えることを気にしないのなら、git のコマンドラインで次のように入力すればこの警告をオフにすることができます。
git config core.autocrlf true
git がこれをどう扱うべきかを知的に判断したい場合。 ドキュメントを読む
以下はスニペットです。
書式設定と空白
フォーマットとホワイトスペースの問題は、よりイライラさせられるものです。 多くの開発者が共同作業を行う際に遭遇する微妙な問題。 特にクロスプラットフォームで。特にクロスプラットフォームでは、パッチやその他の というのも、共同作業によって微妙な空白の変更が加わってしまうからです。 エディタは黙ってそれを導入します。 Windowsの場合、改行コードが入れ替わってしまう可能性があります。Git には、いくつかの このような問題に対処するための設定オプションがあります。
core.autocrlf
Windowsでプログラミングをしていて、そうでない人と一緒に仕事をする場合 (その逆も然り)、おそらくどこかで行末の問題にぶつかることでしょう。 の点です。これは、Windowsがキャリッジリターン文字と とラインフィード文字でファイルの改行を行うのに対し、Mac や Linuxでは、ラインフィード文字のみを使用します。これは微妙なところですが クロスプラットフォームの作業では、信じられないほど厄介な事実があります。 Windowsでは、既存のLFスタイルの行末を無言でCRLFに置き換えるか、あるいは Enterキーを押したときに両方の改行文字が挿入されます。
Gitは、この問題を、CRLFの改行コードをLFに自動変換して処理することができます。 ファイルをインデックスに追加するときと、コードをチェックアウトするときにその逆があります。 をファイルシステム上に配置します。この機能を有効にするには core.autocrlfの設定です。Windowsマシンを使っている場合は、これをtrueに設定してください。 - これは、コードをチェックアウトするときに、LF終端をCRLFに変換するものです。
$ git config --global core.autocrlf true
LinuxやMacで改行コードにLFを使用している場合、その改行コードに対応するために ファイルをチェックアウトするときに、Gitが自動的に変換することはありません。 しかし、もしCRLFで終わるファイルが誤って導入されてしまった場合。 であれば、Git に修正させたいと思うかもしれません。GitにCRLFを コア.autocrlfを次のように設定することで、コミット時にLFを使用することができます。 を入力します。
$ git config --global core.autocrlf input
この設定により、WindowsのチェックアウトではCRLFの末尾が残るはずです。 しかし、MacやLinuxシステム、リポジトリではLFエンディングになります。
もしあなたがWindowsプログラマーで、Windowsのみのプロジェクトを行っているのであれば、次のようにします。 この機能をオフにすることで、キャリッジリターンを記録することができます。 を設定することで、リポジトリに保存されます。
$ git config --global core.autocrlf false
関連
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] git add -A」と「git add .」の違い。
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み】Gitでコミットをチェリーピックするというのはどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み】「オリジン/マスターへのプッシュが拒否されました」というエラーが常に発生するのはなぜですか?
-
[解決済み】git push >> fatal: 設定されたプッシュ先がありません。
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push s...
-
[解決済み] 短いGitバージョンのハッシュを取得する
-
[解決済み] git ls-remote と git ls-remote origin の違い。
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み] エラーです。リベースを使用してプルできません。あなたはステージングされていない変更を持っています
-
[解決済み] Windowsのgit「警告。LF will be replaced by CRLF"、この警告は後ろ向きなのでしょうか?