6

私は MacBook を持っており、Parallels VM で Windows を実行しています。私の開発は主に Visual Studio で行われますが、Mac シェルで Git を使用するのが好きです (Windows で利用できるものよりも優れています)。

コミット間で何が変更されたかを判断するために git diff を実行すると、実際よりもはるかに多くの変更があったと git に思わせる「変更」で終わることわざの行が表示されます。

私はこれが古くからの問題であることを知っており、多くの人からさまざまな提案を受けて多くの調査を行ってきましたが、この問題を解決することはできません. 最も有望な情報はこのSO Postで見つかりましたが、私の問題は解決しませんでした。

ここに私の.gitconfigからのいくつかの関連する行があります...

[core]
    autocrlf = false
    safecrlf = false

また、レポのルートに .gitattributes のみが含まれています...

* text eol=crlf

差分を実行するときに、行末の変更が実際の変更であると Git が考えないようにするにはどうすればよいですか? 繰り返しますが、私は Mac シェルを使用して Windows ファイルを参照しているため、これは私の問題の一部である可能性があります。

ありがとう!

4

2 に答える 2

2

私は次のようにエイリアスgdiffします。

git diff -w origin/`git branch | sed --quiet "s/* \(.*\)/\1/p"`

しかし、あなたはただ行うことができます:

git diff -w
于 2013-10-10T16:56:42.640 に答える
1

Perl、perl -i -pne "s/\n/\r\n/g"ファイル名などの変換ユーティリティを使用します

またはunix2dosおよびdos2unix

http://en.wikipedia.org/wiki/Newline#Conversion_utilitiesも参照してください。

GIT の構成については、別の回答を参照してください: git リポジトリと作業コピーで LF eol を強制する

于 2013-02-26T15:50:30.687 に答える