Я всегда соглашался с мантрой Mercurial 1 , однако теперь, когда Mercurial поставляется в комплекте с расширением rebase и это популярная практика в git, мне интересно, можно ли это действительно рассматривать как «плохую практику», или, по крайней мере, достаточно плохо, чтобы избежать использования. В любом случае, я знаю, что перебазирование опасно после толчка.
OTOH, я вижу смысл пытаться упаковать 5 коммитов в один, чтобы он выглядел лучше (особенно в производственной ветке), однако лично я думаю, что было бы лучше увидеть частичные коммиты для функции, где некоторые экспериментирование сделано, даже если оно не такое изящное, но видя что-то вроде «Пытался сделать так, как X, но это не так оптимально, как Y, в конце концов, делая это Z, принимая Y в качестве основы», ИМХО имело бы хорошее значение для тех, кто изучает кодовая база и следите за ходом мысли разработчиков.
Моя очень самоуверенная (как и глупая, внутренняя, предвзятая) точка зрения заключается в том, что программисты любят ребаз, чтобы скрывать ошибки ... и я не думаю, что это вообще хорошо для проекта.
Итак, мой вопрос: действительно ли вы нашли ценным иметь такие «органические коммиты» (то есть незапятнанную историю) на практике? Или, наоборот, вы предпочитаете сталкиваться с изящными хорошо упакованными коммитами и игнорировать процесс экспериментов программистов ?; какой бы вы ни выбрали, почему это работает для вас? (наличие других членов команды, чтобы сохранить историю, или, наоборот, перебазировать ее).
1 на анализ Google DVCS в Mercurial «История священна».