git diff
の出力は、順番に動作するため、ソース行の順番によって決まります。したがって、このSO投稿の件名の質問に対する回答(「行を並べ替える方法はありますか?」)は単に「いいえ」です。
あなたの例に基づいて、はを対象としています。 (!あなたが例を提供良かっ)
のは、いくつかの実際のgit diff
の出力を見てみましょう、とどのようにthese two command line argument control knobsがそれに影響を与える:差分を生成
-Un
、--unified=n
普通の3つではなく文脈の行でn行。暗示しているのは-p
です。
--inter-hunk-context=lines
それにより近接しているハンクを融合、行の指定された数まで、ハンクの間のコンテキストを表示します。
私はちょうどREADME
ファイルでリポジトリを作成し、2つの変更を加えました。最初の変更は、1行目にあり、第二は、ここでライン9上にある標準git diff
出力です:
$ git diff
diff --git a/README b/README
index 441ad85..0e6fd7d 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This is a README file
+This is a README file MOD1
which I am using just
for showing some
cases of using
@@ -6,4 +6,4 @@ git diff with
flags to adjust
the amount of
context that will
-be shown.
+be shown. MOD2
はちょうど1に三行からコンテキストの量を減少させるために-U
を使用してみましょう:
$ git diff -U1
diff --git a/README b/README
index 441ad85..0e6fd7d 100644
--- a/README
+++ b/README
@@ -1,2 +1,2 @@
-This is a README file
+This is a README file MOD1
which I am using just
@@ -8,2 +8,2 @@ the amount of
context that will
-be shown.
+be shown. MOD2
diffはとなりました。となりましたが、まだいくつかの文脈があります。 (ちなみに、MOD1
の「上」のコンテキストはなく、MOD2
の「下位」のコンテキストはありません。このファイルには、このポイントの上または下の行がないため通常はgit diff
の両方の出力があります1行目の上に3行、9行目の下に3行表示されます.1行目の上に1行、9行目の下に1行あります。ライン・オブ・コンテキストを増加させる)
は差分を融合の副作用を有する:
$ git diff -U4
diff --git a/README b/README
index 441ad85..0e6fd7d 100644
--- a/README
+++ b/README
@@ -1,9 +1,9 @@
-This is a README file
+This is a README file MOD1
which I am using just
for showing some
cases of using
git diff with
flags to adjust
the amount of
context that will
-be shown.
+be shown. MOD2
ライン1上の変化以下のコンテキストの4本のラインと、差分塊はライン1を示し、これは5を含む。 9行目の変更の上に4行のコンテキストがあります。 diff塊は5行から9行までを示します。 5行目と5行目は同じなので、2つのハンクが融合します。
または、-U1
またはややクレイジー-U0
(まったくコンテキスト)を使用していても、私は彼らが参加する時点まで、間で第一及び第二の差分塊を追加コンテキストを追加するために--inter-hunk-context
を使用することができます。 -U1
では、効果を得るには--inter-hunk-context=5
が必要です。
$ git diff -U1 --inter-hunk-context=5
diff --git a/README b/README
index 441ad85..0e6fd7d 100644
--- a/README
+++ b/README
@@ -1,9 +1,9 @@
-This is a README file
+This is a README file MOD1
which I am using just
for showing some
cases of using
git diff with
flags to adjust
the amount of
context that will
-be shown.
+be shown. MOD2
この時、最初の塊がライン2を介して1を示しており、第二のショーライン9を介して図8は、我々は、5つの以上の行ライン3であるの追加、4、5、6、7、今2人のハンクが隣接して1つのdiffハンクに融合します。
-U0
を使用すると、ベースのdiffハンクは1行目と9行目のみであり、2〜8行目(7行目)を追加して結合させる必要があるため、--inter-hunk-context=7
が必要です。
使用することができる1つの以上の関連するオプションがあります:
-W
、
--function-context
変更の機能を取り巻く ショー全体。プレーンテキスト英語が含まれているこの特定のREADME
ファイルについては、
、このオプションは、「機能」は、このようなファイルに存在しないとして、有用ではありません。 -W
が動作するかどうかは、ファイルの言語、およびGitがその言語で書かれた関数を認識できるかどうかによって異なります。