История изменений
Исправление intelfx, (текущая версия) :
Я дополню.
Потому что он нарушает историю правок. С таким же успехом можно ее и не хранить вовсе
Историю правок нарушать можно и нужно (разумеется, только пока она ещё не опубликована). Почему, вы спросите? По одной простой причине: настоящая история правок, в которой написано, как ты два дня ковырялся в носу и 10 раз переписывал одну и ту же строчку и потом ещё три дня отлаживал тесты методом морского боя и научного тыка (поправил-запушил-получил от CI по щам-снова поправил), абсолютно никого не интересует. Ни-ко-го.
Кого-то может интересовать только логическая история изменений: что было, что стало и зачем. Её можно ревьюить, по ней можно делать бинарный поиск, её можно копировать по частям в другие ветки. Поэтому в нормальных командах каждый коммит в публичной ветке представляет собой минимальное самодостаточное изменение строго на одну тему: косметика, багфикс, рефакторинг, новая фича.
Разумеется, нормальные люди сразу так не пишут. Идёшь по коду — о, опечатка в комменте. О, хреново названная переменная. О, ещё какой-нибудь косяк. И ты по ходу всё это правишь и коммитишь промежуточные результаты работы, чтобы их не потерять. Разумеется, такую «историю» можно и нужно переписать и причесать перед пушем в условный мастер. И ты берёшь и делаешь интерактивный ребейз: некоторые коммиты сливаешь, некоторые редактируешь, в некоторых пишешь внятное сообщение.
Исходная версия intelfx, :
Я дополню.
Потому что он нарушает историю правок. С таким же успехом можно ее и не хранить вовсе
Историю правок нарушать можно и нужно (разумеется, только пока она ещё не опубликована). Почему, вы спросите? По одной простой причине: настоящая история правок, в которой написано, как ты два дня ковырялся в носу и 10 раз переписывал одну и ту же строчку и потом ещё три дня отлаживал тесты методом морского боя и научного тыка (поправил-запушил-получил от CI по щам-снова поправил), абсолютно никого не интересует. Ни-ко-го.
Кого-то может интересовать только логическая история изменений: что было, что стало и зачем. Её можно ревьюить, по ней можно делать бинарный поиск, её можно копировать по частям в другие ветки. Поэтому в нормальных командах каждый коммит в публичной ветке представляет собой минимальное самодостаточное изменение строго на одну тему: косметика, багфикс, рефакторинг, новая фича.
Разумеется, нормальные люди сразу так не пишут. Идёшь по коду — о, опечатка в комменте. О, хреново названная переменная. О, ещё какой-нибудь косяк. И ты по ходу всё это правишь и коммитишь промежуточные результаты работы, чтобы их не потерять. Разумеется, такую «историю» можно и нужно переписать и причесать перед пушем в условный мастер.