VCS пошли куда-то не туда
May. 22nd, 2019 07:06 pmЯ более 20 лет использую системы контроля версий, начинал ещё с RCS, сейчас такую наверное и не помнят. Но вот это для меня звучит полной тарабарщиной:
Squashing commits via the command line using "git merge - squash" is just another time consuming step. That's why we have an option to allow Git users to automatically squash commits in feature branches when merging pull requests. This helps you maintain a clean, easy-to-follow history for your repo.
Такое впечатление, что история изменений вместо своей изначальной задачи - сохранения всех изменений, чтобы ничего не пропало, стала самоцелью, средством публикации красивых патчей.
Историей изменений безжалостно манипулируют, перелопачивают, сливают и удаляют changeset-ы, целые ветки пересаживают с места на место в дереве - к чему всё это? Следы запутать? Это тот самый формализм, когда форма становится важнее содержания.
Squashing commits via the command line using "git merge - squash" is just another time consuming step. That's why we have an option to allow Git users to automatically squash commits in feature branches when merging pull requests. This helps you maintain a clean, easy-to-follow history for your repo.
Такое впечатление, что история изменений вместо своей изначальной задачи - сохранения всех изменений, чтобы ничего не пропало, стала самоцелью, средством публикации красивых патчей.
Историей изменений безжалостно манипулируют, перелопачивают, сливают и удаляют changeset-ы, целые ветки пересаживают с места на место в дереве - к чему всё это? Следы запутать? Это тот самый формализм, когда форма становится важнее содержания.
no subject
Date: 2019-05-30 05:34 am (UTC)итог – фичебранч заполненный незначительными коммитами без описаний или описания типа "fix" что тоже можно считать что без описания… :) когда фича готова – весь этот поток сознания нет никакой необходимости сохранять для потомков – поэтому делается мерж-сквош и фичебранч удаляется в /dev/null…
дело ещё в том что гит-флоу подразумевает что в develop мержатся только полностью готовые фичи, а исправления, буде таковые понадобятся впоследствии, должны идти отдельными хотфикс-бранчами…
и конечно далеко не все работают по гит-флоу, даже команды которые используют гит-флоу не обязаны всё делить на фичи и хотфиксы и сквош тоже не является обязательным – просто дополнительная возможность…
и конечно красивые патчи – это важно… история разработки дополняет документацию по проекту (если таковая вообще существует) и здорово ускоряет онбоардинг новых разрабов!…
no subject
Date: 2019-05-30 01:41 pm (UTC)no subject
Date: 2019-05-30 02:36 pm (UTC)вообще у каждого разработчика свой стиль работы с гитом и свои привычки. я обычно стараюсь коммитить сразу в develop и сразу готовые и протестированные фрагменты кода. иногда могу раз в несколько дней коммитить – это нормально если долгое время один работаешь над проектом, а у меня часто так и есть. кто-то наоборот по десятку коммитов раскидывает за день по разным веткам, а потом это всё начинает собирать мержами, иногда бывает одни фичи начинают ветвление от других фич и начинается бардак…
бывает что делается ветка под мегафичу, которая разрабатывается месяцами и по ходу забывается о том, что вообще-то в проекте есть master и develop и начинается – где правки? какую ветку деплоить? почему не мержили? и все такие ну чего придираешься, некогда было – вот такая вот ветка, в ней всё как надо, её и деплой – тогда хочется гонять всех ссаными тряпками… :) разработчики – такие разработчики… :)
ещё сам гит дерево веток не очень наглядно рисует – в репозитории часто висит вагон старых фич, которые давно смержили и забыли. у меня в Tower сразу видно список, я на своих проектах из origin старые фичебранчи зачищаю руками…
no subject
Date: 2019-05-31 01:25 pm (UTC)