行末処理方法の設定を変更するためのファイルやメニューはありますか?
3つの選択肢があります。
Windowsスタイルをチェックアウトし、Unixスタイルをコミットする
テキストファイルをチェックアウトするとき、GitはLFをCRLFに変換します。テキストファイルをコミットすると、CRLFはLFに変換されます。クロスプラットフォームプロジェクトの場合、これはWindowsで推奨される設定です( "core.autocrlf"は "true"に設定されています)。
そのままチェックアウトし、Unixスタイルをコミットする
テキストファイルをチェックアウトするとき、Gitは変換を行いません。テキストファイルをコミットすると、CRLFはLFに変換されます。クロスプラットフォームプロジェクトの場合、これはUnixで推奨される設定です( "core.autocrlf"は "input"に設定されています)。
そのままチェックアウト、そのままコミット
テキストファイルをチェックアウトまたはコミットするとき、Gitは変換を行いません。このオプションを選択することは、クロスプラットフォームプロジェクトでは推奨されません( "core.autocrlf"は "false"に設定されています)。
これを制御する通常の方法はgit config
です。
例えば
git config --global core.autocrlf true
詳細については、 このPro Gitへのリンク を "core.autocrlf"というセクションにスクロールダウンしてください。
これがどのfileに保存されているか知りたい場合は、次のコマンドを実行します。
git config --global --edit
そしてgitグローバル設定ファイルがテキストエディタで開くはずです、そしてあなたはそのファイルがどこからロードされたかを見ることができます。
OSで使用されている行末フォーマット
CR
(キャリッジリターン\r
)とLF
(LineFeed \n
)のペアLF
(LineFeed \n
)2つの方法で、各OSの行末フォーマットを自動修正するようにgitを設定できます。
.gitattributes
ファイルを使用するgit config --global core.autocrlf input
これにより、コミット時にCRLF
をLF
に修正できます。
git config --global core.autocrlf true
これは、あなたがWindowsでチェックアウトするとき、すべてのLF
がCRLF
に変換されることを確実にするでしょう
私たちのチームの全員が自分の設定を設定することを期待したくないので.gitattributes
ファイルを保存するのは良い考えです。このファイルはリポジトリのルートパスを保持する必要があり、存在する場合はgitがそれを尊重します。
* text=auto
これはすべてのファイルをテキストファイルとして扱い、チェックアウト時に終了するOSの行に変換し、コミット時に自動的にLF
に戻ります。明示的に伝えたい場合は、
* text eol=crlf
* text eol=lf
1つ目はチェックアウト用、2つ目はコミット用です。
*.jpg binary
すべての.jpg
画像をバイナリファイルとして扱います。だから変換は必要ありません
すべての開発者に再配布できるリポジトリ設定ソリューションについては、 .gitattributes ファイルの text 属性を調べてください。このように、開発者は手動でリポジトリに独自の行末を設定する必要はありません。また、リポジトリごとに行末のスタイルが異なる可能性があるため、少なくともcore.autocrlfは最適ではありません。
例えば、与えられたパスでこの属性の設定を解除する[ 。 - text]チェックインとチェックアウトの際にgitが行末に触れないようにします。私の意見では、これは最良の動作です。現代のほとんどのテキストエディタは両方のタイプの行末を処理できるからです。また、チェックイン時に開発者として行末変換を行いたい場合でも、パスを特定のファイルと一致するように設定するか、リポジトリのeol属性(.gitattributes内)を設定することができます。
.gitattributesファイルとテキスト属性をより詳細に説明しているこの関連記事もチェックしてください。 GitでのCRLF(キャリッジリターン、ラインフィード)処理の最良の戦略は何ですか?
PC形式からUNIX形式に変更されたファイル形式を変換したい場合。
(1)亀GITを再インストールし、[行末変換]セクションで[そのままチェックアウト - そのままチェックイン]オプションを選択していることを確認します。
(2)残りの設定はそのままにします。
(3)インストールが完了したら
(4)UNIX形式に変換されたすべてのファイル拡張子をテキストファイル(extensions.txt)に書き込みます。
ex:*.dsp
*.dsw
(5)クローンにファイルをコピーしますGITBASHで以下のコマンドを実行します
while read -r a;
do
find . -type f -name "$a" -exec dos2unix {} \;
done<extension.txt