15

私はWindowsで作業していますが、Unixでも動作する可能性があるため、Windowsの行末を保存する必要はありません。警告を抑制したいだけです。

私はこれらの関連するStackOverflowの質問を見つけました:

私は次のことを試しました:

git config core.whitespace cr-at-eol false<Br>
git config core.whitespace cr-at-eol true<br>
git config core.whitespace cr-at-eol nowarn

しかし、これらは何もしないようです。警告をオフにする方法を知っている人はいますか?

4

4 に答える 4

8

私は単にファイルでWindowsのほとんどの状況をカバーするために使用autocrlf=trueします。.git/config新しいソースファイルによっては、警告が表示されることがあります。

スキームに従わない特別なファイルがある場合は、それらに対して.gitattributesを個別に設定します。たとえば、Matlabファイルには。が含まれています*.m eol=lf

于 2011-10-26T23:10:28.123 に答える
5

私はこのように使用しました:

git configcore.autocrlfコマンドは、Gitが行末を処理する方法を変更するために使用されます。それは単一の引数を取ります。

Windowsでは、構成に渡すだけですtrue。例えば:

$ git config --global core.autocrlf true    
# Configure Git on Windows to properly handle line endings

特別な--globalフラグを指定することもできます。これにより、Gitは、コンピューター上のすべてのローカルGitリポジトリで行末に同じ設定を使用します。

core.autocrlfオプションを 設定して.gitattributesファイルをコミットした後、Gitが変更していないファイルをコミットしたい場合があります。この時点で、Gitはすべてのファイルの行末を変更することを熱望しています。

リポジトリの行末を自動的に構成する最良の方法は、最初にGitを使用してファイルをバックアップし、リポジトリ内のすべてのファイル(.gitディレクトリを除く)を削除してから、ファイルを一度に復元することです。現在のファイルを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"

ソース:https ://help.github.com/articles/dealing-with-line-endings/

于 2015-07-31T14:03:43.727 に答える
1

私もWindowsで開発しています。サーバーはLinuxを利用しており、すべてのコードはLinuxをベースにしている必要があるため、すべてのファイルをCRLFではなくLFに変更することをお勧めします。

gitコマンドラインから:

git config --global core.autocrlf false

私はintellijideaを使用しているので、非常に簡単です。

1)ファイル->設定->エディタ->コードスタイル:(新しいファイルが作成されます)

a。スキーム:デフォルト

b。行区切り文字:unixおよびos x(\ n)

2)プロジェクトのルートをマーク->ファイル->行区切り文字-> LFunixおよびosx(\ n)(既存のファイルの場合)

備考:dos2unix.exeやその他のスクリプトなどのアプリを使用することもできます。

コマンドラインを使用した場合よりも:(これはアイデアからも実行できます)

git commit -m "bla bla"
git add .
git push origin master

それ以来、私はそれらの警告を受けませんでした

于 2017-11-15T13:32:53.597 に答える
0

警告をオフにするには、

git config --global core.safecrlf false

(これにより、警告がオフになるだけで、関数自体はオフになりません。)

https://stackoverflow.com/a/14640908/1507124


問題は、を使用して行末変換が設定されている場合に、ファイルをGitにチェックインするときに生成される警告をオフにする方法autocrlfです。

これらは、行末が保持されないという警告です。つまり。特定の状態のファイルがあり、それをGitにチェックインしているので、他のときにチェックアウトするときに、そのファイルが正確な状態であると期待するべきではありません。または、他の誰かがそれをチェックアウトした場合。

の設定を変更するcore.autoclrfと、ファイルをチェックアウトする形式の設定を変更するだけで、警告を「CRLFはLFに置き換えられます」に切り替えます。に変更しない限りinput、ほとんどの場合、物事は混乱に変わります。

行末が重要かどうかはプロジェクトによって異なり、を使用してプロジェクト全体に設定する必要があります.gitattributes

于 2021-06-10T13:54:47.803 に答える