回答:
Gitリポジトリのルートフォルダーに特別な.gitattributesファイルを追加することで、リポジトリごとに行末処理を構成できます。このファイルがリポジトリにコミットされると、個々の開発者のcore.autocrlf設定が上書きされます。
このファイルでは、行末を自動検出するようにGitを構成できます。
注:-すべてのグラフィカルGitツールが.gitattributesファイルをサポートしているわけではありません。たとえば、Eclipse IDEは現在サポートしていません。
これが.gitattributesファイルの例です。リポジトリのテンプレートとして使用できます。
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
ファイルが一致することに注意してください。以下では、いくつかの可能な設定について説明します。
text = auto Gitは、最適と思われる方法でファイルを処理します。これは良いデフォルトオプションです。
text eol = crlf Gitはチェックアウト時に常に行末をCRLFに変換します。OSXやLinuxでも、CRLFの末尾を維持する必要があるファイルには、これを使用する必要があります。たとえば、CRLFの行末を強制するWindowsプロジェクトを次に示します。
text eol = lf Gitはチェックアウト時に常に行末をLFに変換します。これは、WindowsでもLFで終わる必要があるファイルに使用する必要があります。以下のため例、ここではLFの行末を強制するプロジェクトです。
バイナリ Gitは、指定されたファイルがテキストではないことを理解し、それらを変更しようとするべきではありません。バイナリ設定は、-text -diffのエイリアスでもあります。