2016-06-13 13 views
0

メモ帳を設定する質問があります。++:Windowsでメモ帳++を使用してコードを編集しています。 Linuxでgit diffを実行すると、tous les linesが変更されたものとして表示されます。実際には、私はファイルを開いたと確信していますが、私はメモ帳でそれを変更しませんでした!私はメモ帳の設定問題だと思う、メモ帳でファイルを開くと、すべての改行が変更されます。ですから、git diffは私にすべての行を「変更」したことを私に示します。それを解決する方法を教えてください。git diffを使用するためにメモ帳を設定する方法

+1

ですから、行末について話していますか? – Droppy

+0

通常、すべての行が変更された場合、行終了と関係します:Windowsの '\ r \ n'対nixの' \ n'。 Gitには、チェックインとチェックアウトの間の行末を変更するいくつかの設定があります。メモ帳++は、1つの行末の型をすべて別の行末の型に置き換えることもできます。 – MicroVirus

+0

WindowsとLinuxの間でGitを使ってファイルを共有していますか?あるいは、どちらも同じファイルシステムにアクセスしていますか?あなたの 'git config core.autocrlf'設定は何ですか? – Melebius

答えて

0

編集中のコードがGitにUnixの行末(LF)でコミットされているようです。 Notepad ++は行末をCRLFに変換します.CRLFはWindowsで一般的に使用されます。

この問題は、次の2つの方法のいずれかで解決できます。

Windows上でNotepad ++でコードを編集する場合は、Edit > EOL conversion > UNIX/OSX Formatを使用して、編集したファイルのすべての行末をUnix形式に変換できます。

それ以外の場合は、Unixの行末をCRLFとしてチェックアウトし、core.autocrlf configオプションを使ってLFとしてコミットするように設定できます。以下documentationからの抜粋を参照してください:

Windowsでプログラミングをしていない人(またはその逆)で作業している場合は、おそらくいくつかの 時点で行末の問題に実行されます。これは、Windowsではキャリッジリターン文字「 」とファイル内の改行文字に改行文字が使用されているのに対して、Macでは「 」は改行文字のみを使用するためです。これは微妙ですが、 クロスプラットフォームの作業の信じられないほど厄介な事実です。 の多くのエディタWindowsは、既存のLFスタイルの行末をCRLFで暗黙的に置き換えます。または、 は、ユーザーがEnterキーを押したときに両方の行末の文字を挿入します。

をファイルシステムにチェックアウトするときに、 をファイルに追加すると、GitはCRLF行末をLFに自動的に変換し、逆も同様です。 core.autocrlf設定でこの機能を有効にすることができます。あなたがWindowsマシンにしている場合は、真 に設定 - これは、コードをチェックアウト時にCRLFにLF終末を変換します

$ git config --global core.autocrlf true

関連する問題