既存の git リポジトリで行末を特定する方法はありますか?
「git status
内容は同じでもファイルが変更されたものとして表示される」で述べましたgit ls-files --eol
が、これは良いアプローチです。(Git 2.8+)
Git がインデックスとワーキング ツリーの行末と有効な text/eol 属性を表示できるようにします。
行末 ("eolinfo") は次のように表示されます。
"-text" binary (or with bare CR) file
"none" text file without any EOL
"lf" text file with LF
"crlf" text file with CRLF
"mixed" text file with mixed line endings.
例:
i/none w/none attr/text=auto t/t5100/empty
i/-text w/-text attr/-text t/test-binary-2.png
i/lf w/lf attr/text eol=lf t/t5100/rfc2047-info-0007
i/lf w/crlf attr/text eol=crlf doit.bat
i/mixed w/mixed attr/ locale/XX.po
そうは言っても:
あなたが言及した「コードを使用して git 構成を配布する」で説明したように、その設定 ( core.autocrlf
) を引き続き維持し、よりきめ細かい制御のためにgitattributes ディレクティブを使用します。false
eol
そうは言っても、行末が混在していることを検出するには、次のようにします。
core.autocrlf
に設定true
git clone
あなたのレポ
git diff
: クローンの直後に差分が表示される場合... 作業ツリーで自動 eol 変換が行われたところです。
Update 2016 (4 年後): eol の変更を検出するためのよりモダンな方法:
git -c color.diff.whitespace="red reverse" diff -R -- afile