私は誤って新しい支店を開設しなければならなかったマスターに取り組みました。
ほぼ完全に元の形に戻しました。あるクラスでは、私には理解できない次の差分があります。
index 4a9abb8..7c55879 100755
--- a/includes/site.inc.php
+++ b/includes/site.inc.php
@@ -142,11 +142,11 @@ class site{
public $tplEngine = 'smarty';
-
+
private $_productsByType = array();
private $logger;
- protected $locale = 'tr_TR';
-
+ protected $locale = 'tr_TR';
+
同じものを削除して追加したとのことですが、原則として元のインデックスとの違いはなく、このファイルが変更されたように見せたくありません。
私は何をすべきか ?どうも。
スペースを確認してください。置き換えられた「空の」外観の線には、スペースがあります。また、誤ってタブをスペースに置き換えたり、その逆を行ったりした可能性もあります。
おそらく空白の変更です。 git diff -w
を実行できます。これにより、空白の変更はすべて無視されます。
スペース/タブに加えて、異なるエディター(Windowsでも)および/または異なるOSから入力された場合の行末は、重複を示す差分行の原因となる可能性があります。 LF(linux/Unix)vs CRLF(Windows)。
スペースまたは行末の違いを確認してください。
非空白行の2番目のバージョンには、セミコロンの後にスペースがあり、空白行にも異なる数のスペースがあります。
Gitにそのような隠されたスペースを強調表示させるオプションがあるはずです。そうすれば、diffがより有益になりますが、私にはマニュアルがありません。
新しい_-B
_を使用している場合、 git 1.8.4(2013年7月) では、空の行のみで変更が表示されなくなることに注意してください。オプション。
「_
git diff
_」は、GNUの「_diff -B
_」(空白行を無視)と同じ、空白行の追加と削除のみで変更されたハンクを無視するモードを学習しました。差分。
commit 36617af7ed594d1928554356d809bd611c642dd2 を参照してください:
パッチの目的は、GNU diff _
-B/--ignore-blank-lines
_を可能な限り厳密に導入することです。短いオプションは「_break-rewrites
_」ですでに使用されているため、使用できません。このオプションを使用すると、_
git diff
_は単に空の行を追加または削除するハンクを作成しませんが、「貴重な」変更に十分近い場合は空の行の追加/抑制を表示します。オプションのより詳細な説明は次のとおりです。
- 本当の変化は面白い
- 興味深い変更に十分に近い(コンテキストサイズ未満)空白行は、興味深いと見なされます(再帰的定義)
- 「コンテキスト」行は、興味深い変更の各ハンクの周りに使用されます
- 2つのハンクが「inter-hunk-context」未満で区切られている場合、それらは1つにマージされます。
これは、gitが使用するデフォルトのdiffアルゴリズムがヒューリスティックを使用して高価なエッジケースを切り取るために発生することがあり、その結果、結果が最適ではなくなる可能性があります。
これと同じ問題が発生しましたが、空白や行末などが原因で説明できませんでした。git diff
は、3行削除および2行追加として表示されたハンクの一部として、削除されてから再追加された特定の行を表示していましたが、実際には2行削除および1行追加されました。他の差分プログラムでは、予想される2行が削除され、1行が追加されたことが示されました。
これが発生したファイルは4736行(114 KB)で、差分は合計640の挿入と1340の削除であり、問題のハンクはファイルの中央にあります。私はそれを同じ問題を示したより小さなテストケースに減らすことができませんでした:どこでもわずかな摂動を加えることで問題はなくなりました。私の唯一の結論は、diffアルゴリズムのヒューリスティックのこれらのEdgeケースの1つに陥っていたということです。
Gitはデフォルト以外に 他の複数のdiffアルゴリズム をサポートしています。アルゴリズムをminimal
、patience
、またはhistogram
のいずれかに切り替えることで、この場合の問題は解決しました。
埋め込まれたLibXDiffライブラリのgitソースコードの このコメント も参照してください。