web-dev-qa-db-ja.com

Windows上のGit 1.6.4ベータ(msysgit)-UnixまたはDOSの回線終端

Win Vista開発VPCにmsysgit 1.6.4ベータをインストールしています。インストール画面で、Unix回線終端とDOS回線終端のどちらを使用するかを要求されます。通常、私はDOSを選択しますが、セットアップテキストは、DOS終了がファイルがすべてのGitのコマンドラインツールで機能しないことを意味する可能性があることを示しています。 Unixの回線終端は、「...ほとんどの[Windows]アプリケーションがこれを処理できる...」と述べています。

私のVS 2008作業でシェルを介してGitを使用するために選択する必要があるオプションを誰かが知っていますか?

43
Scott Davies

Msysgitのインストールプロセス中のその設定は、実際にはcore.autocrlfconfig の値を修正するためのものです。

core.autocrlf

Trueの場合、テキストファイルの行末のCRLFをファイルシステムから読み取るときにLFに変換し、ファイルシステムに書き込むときに逆変換します。

変数は 'input'に設定できます。この場合、変換はファイルシステムからの読み取り中にのみ行われますが、ファイルは行末にLFを付けて書き出されます。

現在、「テキスト」と見なされる(つまり、autocrlfメカニズムの対象となる)パスは、純粋に内容に基づいて決定されます。

私はではなく何かを自動的に変換しようと主張します、副作用はあまりにも重要です(潜在的なマージ競合の観点から、特に分散開発では)異なる環境)

ツールがUnixスタイルのラインターミネーションを処理できる場合は、Unixラインを生成するように設定する必要があります。これにより、Windows(VS2008、Notepad ++など)でもUnixでも読み取ることができ、任意の 'sh' Gitで処理できます。 -スクリプト。

ただし、core.autocrlfがfalseに設定されている場合、テキスト行の終端を変換する決定は、背景の見えない副作用ではなく、任意の明示的なものになります。


詳細については、「 異なるオペレーティングシステム間でのgit core.autocrlfによる行末変換の機能 」を参照してください。

 | |の場合の結果の変換
の場合の結果の変換|さまざまな| FROMリポジトリのチェックアウト-
 | EOLs INTO repo and |中にファイルが混在している
 | core.autocrlf値:| core.autocrlf値:
 ---------------------------------------- ---------------------------------------- 
ファイル|真|入力|誤り|真|入力| false 
 -------------------------------------------- ------------------------------------ 
 Windows-CRLF | CRLF-> LF | CRLF-> LF | as-is | as-is | as-is | as-is 
 Unix- LF | as-is | as-is | as-is | LF-> CRLF | as-is | as-is 
 Mac -CR | as-is | as- is | as-is | as-is | as-is | as-is 
 Mixed-CRLF + LF | as-is | as-is | as-is | as-is | as-is | as- is 
混合-CRLF + LF + CR | as-is | as-is | as-is | as-is | as-is | as-is 
 
123
VonC

Visual Studio 2008はnix行終端を問題なく処理します。ただし、これらの問題を修正するために、一貫性のない行の終端があるテキストファイルを検出しようとします。一方、メモ帳ではnixテキストファイルを正しく表示できません。

3