Могу ли я заставить git рассматривать изменение как один фрагмент? - PullRequest
0 голосов
/ 21 ноября 2018

Иногда я получаю коммит, который полностью переписывает блок кода, но имеет несколько одинаковых строк, случайно перемежающихся.Git-diff делит изменения на части вокруг этих строк, и diff становится трудным для понимания.

В таких случаях было бы неплохо сказать git "игнорировать единственные неизмененные строки; действовать так, как будто весь этот блок был удалени заменил. "

Например, я хочу превратить diff, который выглядит следующим образом:

-def rewritten_function(oldarg):
-    do a
-    do b
+def rewritten_function(newarg):
+    do z
+    do y
     with random_matching_line as f:
-        do x
-        do y
-        do z
+        do a
+        do b
+        do c

в это:

-def rewritten_function(oldarg):
-    do a
-    do b
-    with random_matching_line as f:
-        do x
-        do y
-        do z
+def rewritten_function(newarg):
+    do z
+    do y
+    with random_matching_line as f:
+        do a
+        do b
+        do c

Есть ли способсделать это либо при подготовке коммита, либо при просмотре журнала позже?

1 Ответ

0 голосов
/ 21 ноября 2018

diff.interHunkContext config говорит:

Показать контекст между ссылками различий, вплоть до указанного количества строк, тем самым смешивая блоки, расположенные близко друг к другу.Это значение используется по умолчанию для опции командной строки --inter-hunk-context.

, которая выглядит именно так, как вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...