1

Git を使用するたびdiffに、チャンク ヘッダーの横にある種のガベージ テキストがあることに気付きます。

diff --git a/filename.php b/filename.php
index ddfe2f6..2209bdc 100644
--- a/filename.php
+++ b/filename.php
@@ -654,9 +654,7 @@ sessionStorage.removeItem('a'); <-- This is what I'm talking about

その JavaScript ステートメントは、1 つだけでなく、すべてのチャンク ヘッダーにあります。また、これは特定の 1 つのブランチでのみ発生することにも言及する必要があります。これの原因は何ですか?さらに重要なことは、どうすればこれを修正できますか?

4

2 に答える 2

2

すべての差分/パッチツールの観点から、これは単なるノイズまたはコメントにすぎません。他のすべてのツールでは完全に無視されます。

ただし、実際には、git diffなどのほとんどのソースコードのgitツールは、この変更を含む関数名をここで生成します。つまり、commit diffを見るだけで、このcommitがどの機能に影響を与えたかをすばやく知ることができます。

あなたの場合、それは関数名のようには見えませんでしたが、おそらくgit diffjavascriptファイルを処理するように最適化されておらず、どういうわけか混乱したためです。

私はあなたがこれについて心配する必要はないと思います。本当に気になる場合は、この行が1番目の位置から始まるかどうかを確認してインデントしてください。そうすると、gitの観点からは関数名のようには見えません。

于 2013-01-08T06:15:04.353 に答える
1

diffソースファイルの言語に基づいて、差分が含まれている関数を認識しようとするコードがあります。ここでは、不十分なヒューリスティックまたは奇妙にフォーマットされたソース コードのために、関数の名前が と決定されていsessionStorage.removeItem('a');ます。実際には、この機能は C 以外ではうまく機能しないことがわかりましたが--show-function-line、diff コマンドに渡すdiff.xfuncnameか、どこかの git config で変更する方法を見つけることができます。

于 2013-01-08T06:18:51.153 に答える