Ответ 1
Существует множество ситуаций, в которых вы можете захотеть переустановить.
-
Вы разрабатываете несколько частей функции на отдельных ветвях, а затем понимаете, что они на самом деле являются линейным развитием идей. Восстановите их в этой конфигурации.
-
Вы несете тему из-за неправильного места. Возможно, это слишком рано (вам нужно что-то позже), может быть, слишком поздно (это также относится и к предыдущим версиям). Переместите его в нужное место. Случай с "слишком поздним" на самом деле не может быть исправлен слиянием, поэтому перегрузка имеет решающее значение.
-
Вы хотите протестировать взаимодействие ветки с другой ветвью, но по какой-то причине не хотите сливаться. Например, вы можете увидеть, какие конфликты вызывают commit-by-commit, а не все сразу.
Общая тема здесь заключается в том, что чрезмерное слияние загромождает историю, а перезарядка - это способ избежать этого, если вы сначала не получили план ветки/слияния. Слишком много слияний может затруднить человеку отслеживание истории, а также может затруднить использование таких инструментов, как git-bisect
.
Есть также все многочисленные случаи, которые вызывают интерактивную перезагрузку:
-
Несколько коммитов должны были быть одним фиксатором.
-
Конец (а не текущий) должен состоять из нескольких коммитов.
-
Ошибка (а не текущая) имела ошибку в ней или ее сообщение.
-
Необходимо удалить фиксацию (а не текущую).
-
Записи должны быть переупорядочены (например, для более логичного потока).
Хотя верно, что вы "теряете историю", делая это, реальность такова, что вы хотите публиковать только чистую работу. Если что-то еще не опубликовано, все в порядке, чтобы переустановить его, чтобы превратить его в способ, которым вы должны были его совершить. Это означает, что окончательная версия в публичном репозитории будет логичной и простой в использовании, не сохраняя ни одной икоты, которую разработчик имел на этом пути.