Когда у вас есть докблоки над несколькими функциями, удаление функции создает не оптимальный патч.
index.js:
/**
* Function foo description.
*/
function foo() {}
/**
* Function bar description.
*/
function bar() {}
Функция удаления foo с его docblock генерирует следующий патч:
diff --git a/index.js b/index.js
index f4e18ef..933004f 100644
--- a/index.js
+++ b/index.js
@@ -1,9 +1,4 @@
/**
- * Function foo description.
- */
-function foo() {}
-
-/**
* Function bar description.
*/
function bar() {}
Это означает, что любое слияние, которое приносит с собой, совершает то, что касается пространства между функцией foo и панель функций, теперь приводит к конфликту.
Например, представьте, что мы создали ветвь feature-1
перед удалением foo, а в index.js
добавлена функция foobar
между ними. Контекст выглядел бы следующим образом:
/**
<<<<<<< HEAD
=======
* Function foo description.
*/
function foo() {}
/**
* Function foobar description.
*/
function foobar() {}
/**
>>>>>>> feature-1
* Function bar description.
*/
function bar() {}
Я полагаю, что не было бы проблем, если бы /**
был захвачен сверху. Я уверен, что есть хорошая причина для git предпочесть удаление с конца, но я хотел бы заставить его захватить его с самого начала. Есть ли способ легко сделать это? Или вручную редактирование патчей?