57

私は git が初めてで、行末と git がそれらをどのように扱うかについて多くのことを読みました。ちなみに私はWindowsです。ファイルを作成し、.gitattributesたとえば *.txt をテキストに設定しました。.txt ファイルをコミットすると、次の警告が表示されます。

警告:whatever.txt では、CRLF は LF に置き換えられます

しかし、私はそれを知っています。その警告は必要ありません。テキスト ファイルの行末を置き換えることは、私が望むものです。

現在、safecrlffalse に設定すると警告が消えますが、マニュアルには次のように記載されてsafecrlfいます。

true の場合、行末変換がアクティブなときに CRLF の変換が元に戻せるかどうかを git がチェックします。Git は、コマンドが作業ツリー内のファイルを直接または間接的に変更するかどうかを確認します。たとえば、ファイルをコミットした後に同じファイルをチェックアウトすると、作業ツリーに元のファイルが生成されます。これが core.autocrlf の現在の設定に当てはまらない場合、git はファイルを拒否します。

そのことから、safecrlf持っているのは良い考えのようです。safecrlfただし、 true に設定するとテキスト ファイルに関する警告が表示される理由がわかりません。それらは別の問題であるように私には思えます-テキストファイルの警告と可逆性のチェック。実際、git は私のファイルを拒否しません。

テキスト ファイルの警告を取り除き、 safecrlf設定したままにすることはできますか? それとも私は何かを誤解していますか?

4

4 に答える 4

11

あなたの.gitattributesことができます:

# normalize text files to use lf
text eol=lf

# except these which we want crlf
*.txt eol=crlf
于 2013-06-01T15:03:03.387 に答える
7

あなたの質問に対する簡単な答えは NO です。

基本的に、core.safecrlf 設定は「警告レベル」を制御するためです。

  • false - 警告なしで続行
  • 警告 - 警告を続行
  • true - 続行しない

したがって、最も適したオプションを選択する必要があります。

于 2016-05-27T15:05:27.637 に答える