2012-09-09 20 views
6

this questionによると、gitのcore.autocrlf = trueはCRLFからLFへの変換を引き起こすことを理解しています。しかしgitリポジトリはグローバルなものを上書きするcore.autocrlfのローカル値を持っていますか?

は私が入力したとき: Gitの設定core.autocrlf

私は以下を参照してください 偽

しかし、私はレポに既にある変更されたファイルをステージングするとき、私はまだ取得これらの警告を:

Warning: CRLF will be replaced by LF in File1.X. 
The file will have its original line endings in your working directory. 

私の推測では、ファイルのレポ・コピーはすでに「autocrlf = true」に設定されています。

質問:A.ファイルまたはgit repoが既にAutoCrlfを強制しているかどうかを照会する方法を教えてください。 B. autocrlfをオフにするにはどうすればよいですか?

答えて

6

Gitでは、.gitattributesファイルを使用してリポジトリ単位でグローバル設定を上書きすることができます。これをリポジトリのルートディレクトリに置き、リポジトリの一部としてコミットされたファイルになります。私はこれがあなたの場合に起こっていると思う。あなたは、特定のファイル拡張子のための行末を設定するには、テキスト属性を使用することができ、要するにhttps://help.github.com/articles/dealing-with-line-endings

Githubのは、この上の良いページを持っています。たとえば、CRLFにSLNファイルを強制的に.gitattributesファイルに次の行必要になります。

# Declare files that will always have CRLF line endings on checkout. 
*.sln text eol=crlf 
+1

右...そう...私はコア 'と同等になり.gitattributes''に何を置きます私のグローバル設定で.autocrlf = false'ですか? –

+0

'.gitattributes'の次の部分は' core.autocrlf = false'と等価でしょうか? '* -text' –

+0

.gitattributeは、バイナリを削除するとマージする機能にも影響します。 – jhclark

関連する問題