История изменений
Исправление vbr, (текущая версия) :
История должна отображать то, что происходило.
Не должна. git log это не система аудита. История должна быть полезна тем, кто будет работать с кодом в будущем. А если история представляет из себя неюзабельный граф и ей никто не пользуется, то она просто не нужна, совсем. Это так, философия.
Если задачу пилили в отдельной ветке месяц и по ходу дела менялось и ее понимание и требования то это должно отображаться в истории. А линейная ничего из этого не отображает.
git rebase сохраняет все коммиты, сохраняет их текст, сохраняет даты коммитов, сохраняет все изменения. Единственное, что она делает, это актуализирует поздние изменения из главной ветки, делая процесс слияния тривиальным.
Делать ли squash всех рабочих коммитов в один, теряя всю историю - это вопрос дискуссионный и я это не поддерживаю, хотя есть люди, которые в git коммитят бездумно, и пользы от таких коммитов ноль в любом случае. Но к вопросу о rebase это вообще никак не относится. Ты можешь делать rebase, сохраняя все исходные коммиты, и ты можешь делать merge, предварительно сквашивая все коммиты ветки.
Исходная версия vbr, :
История должна отображать то, что происходило.
Не должна. git log это не система аудита. История должна быть полезна тем, кто будет работать с кодом в будущем. А если история представляет из себя неюзабельный граф и ей никто не пользуется, то она просто не нужна, совсем. Это так, философия.
Если задачу пилили в отдельной ветке месяц и по ходу дела менялось и ее понимание и требования то это должно отображаться в истории. А линейная ничего из этого не отображает.
git rebase сохраняет все коммиты, сохраняет их текст, сохраняет даты коммитов, сохраняет все изменения. Единственное, что она делает, это актуализирует поздние изменения из главной ветки, делая процесс слияния тривиальным.
Делать ли squash всех рабочих коммитов в один, теряя всю историю - это вопрос дискуссионный и я это не поддерживаю, хотя есть люди, которые в git коммитят бездумно, и пользы от таких коммитов ноль в любом случае. Но к вопросу о rebase это вообще никак не относится.