Это дублирующий вопрос, (ответ которого - CollapseExtension, которое вы нашли), но я воспользуюсь возможностью, чтобы попытаться отговорить вас от практики.:)
Очевидно, что я не могу отговорить вас от попыток сжать ваши наборы изменений, но вы, возможно, захотите учесть, что половина значения контроля версий - это ответ «почему», а не просто «какие» месяцы и годыпотом.Точное представление о том, как появилась функция и на каких этапах она может иметь будущее значение.Отказ от этого кажется таким ... неконтролируемым.Не беспокойтесь о том, насколько хороша ваша история, и сосредоточьтесь на том, насколько она может быть полезной.
Даже если вы все-таки рухнете, вам определенно следует использовать два набора изменений: функцию и объединение функции.Наборы изменений слияния являются нормой для курса и их не следует избегать.Они имеют некоторую очень важную информацию, а именно их происхождение, и отлично справляются с задачей создания добавленной вами функции, которую можно легко переместить в другое место в дереве, не допуская детали слияния вне функции.подробности.Не пытайтесь избегать их!
Кроме того, вы должны делать репозитории с вашей машины хотя бы ночью, верно?Настройте клон разработки на сервере, к которому у вас есть доступ, или что-то в этом роде.