回答:
あなたは警告をオフにすることができます
git config --global core.safecrlf false
(これにより、関数自体ではなく警告のみがオフになります。)
とを使用する必要がcore.autocrlf input
ありcore.eol input
ます。または、gitで行末をまったく変更せずautocrlf false
、差分でcrlfsの強調表示を削除しないでくださいcore.whitespace cr-at-eol
。
お役に立てれば
私はこのように使用しました:
現在のファイルをGitに保存して、作業内容が失われないようにします。
git add . -u git commit -m "Saving files before refreshing line endings"
Gitのインデックスからすべてのファイルを削除します。
git rm --cached -r .
Gitインデックスを書き換えて、すべての新しい行末を取得します。
git reset --hard
変更したすべてのファイルを追加し、コミットの準備をします。これは、変更されたファイルがある場合は、それを検査するチャンスです。
git add . # It is perfectly safe to see a lot of messages here that read # "warning: CRLF will be replaced by LF in file."
変更をリポジトリにコミットします。
git commit -m "Normalize all the line endings"
git rm --cached -r . && git reset --hard
トリックをするようです、ありがとう
おかしなことに、私はここで説明したように両方の構成を適用しており、私の.gitconfigファイルには次の2行が含まれています。
[core]
autocrlf = false
whitespace = cr-at-eol
それでも警告を受けました。試してみると、両方の行がコメント化され、警告が実際に消えました。なぜ私が最初にそれらを置いたのか分かりません...
「core.safecrlf false」を設定すると機能します。ただし、値を「true」に変更した後、出力は以下のように「警告」から「致命的」に変化します。
$ git add -A
warning: LF will be replaced by CRLF in .gitignore.
The file will have its original line endings in your working directory
$ git config --global core.safecrlf false
$ git reset
$ git config --global core.safecrlf true
$ git add -A
fatal: LF would be replaced by CRLF in .gitignore
$