LINUX.ORG.RU

История изменений

Исправление Dudraug, (текущая версия) :

Мне нужны все коммиты. А иначе зачем вообще нужна история? Достаточно хранить несколько последних версий и всё.

Не-не-не. Такая история как я привел выше нужна пока ты пилишь фичу, для того, чтобы всегда была контрольная точка к которой можно откатиться. Когда фича готова, то нет смысла тащить все черновые комиты в мастер. Они имеют смысл до тех пор пока фича не готова. Я, как и очень многие разработчики, придерживаются стратегии когда все ветки ребейзятся от origin/master (если есть необходимость в сохранение ветки ребейз постоянно повторяется после git fetch/git remote update). После чего я могу просто замержить ветку в мастер простым git merge --ff-only. В результате чего получу линейную историю и одни и те же комиты в своей ветке и мастере.

Случай когда твоя личная ветка сохраняет промежуточные коммиты подразумевает cherry-pick. А это на мой взгляд уже бардак. Когда в дополнительной ветке содержится история отличная от того что было запушено. Потому что в случае чего хрен поймешь как с этим потом работать. Но git позволяет работать и так, без rebase. Так что это совсем не аргумент против гита. В гите можно и так и так работать. А в hg, насколько мне известно, rebase отсутствует.

Исходная версия Dudraug, :

Мне нужны все коммиты. А иначе зачем вообще нужна история? Достаточно хранить несколько последних версий и всё.

Не-не-не. Такая история как я привел ниже нужна пока ты пилишь фичу, для того, чтобы всегда была контрольная точка к которой можно откатиться. Когда фича готова, то нет смысла тащить все черновые комиты в мастер. Они имеют смысл до тех пор пока фича не готова. Я, как и очень многие разработчики, придерживаются стратегии когда все ветки ребейзятся от origin/master (если есть необходимость в сохранение ветки ребейз постоянно повторяется после git fetch/git remote update). После чего я могу просто замержить ветку в мастер простым git merge --ff-only. В результате чего получу линейную историю и одни и те же комиты в своей ветке и мастере.

Случай когда твоя личная ветка сохраняет промежуточные коммиты подразумевает cherry-pick. А это на мой взгляд уже бардак. Когда в дополнительной ветке содержится история отличная от того что было запушено. Потому что в случае чего хрен поймешь как с этим потом работать. Но git позволяет работать и так, без rebase. Так что это совсем не аргумент против гита. В гите можно и так и так работать. А в hg, насколько мне известно, rebase отсутствует.