Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Конечно есть именованные бранчи, но коммиты у ним не привязаныОб этом и речь — глядя на коммит, нельзя сказать к какому бранчу он относится. Т. е. к какой фиче-фиксу как вариант. Сообщение слишком специфично и не содержит такой информации, так как фича одна, а коммитов много. Возможно из-за этого и приходится впоследствии шаманить с коммитами, чтобы по ним было понятно, к чему они собственно относятся.
Бывают моменты, когда в коде натуральные КРОВЬ КИШКИ РАСЧЛЕНЕНКА на протяжении целого дня, а то и нескольких.Такое может быть, если не задумываться об атомарных изменениях. Да, для этого нужно изменить подход к программированию, разбивать на мелкие задачи и фокусироваться на них. Но это реально и лично мне это не мешает, а наоборот — помогает сосредоточиться. До этого у меня тоже часто были подобные ситуации — делаю какие-то мелкие изменения, они тянут за собой все больше и больше кода и не успеешь обернуться, как вся система сломана и непонятно, за что хвататься, чтобы привести все в порядок. Я стараюсь до такого не доводить, фокусируясь на законченных коммитах и небольших не калечащих изменениях.
что мне написать в коммит месседж, когда я переключаю контекст, а из текущих изменений — одна измененная константа, скажем?Писать, что изменена такая-то константа. Можно еще добавить — зачем. Это лучше, чем temp, wasd, 111 и прочие.
Плюс к этому правило «коммитить часто» порождает множество коммитов на каждую мелкую фичу, которые сильно захламляют историю.Вот. Подобное мышление — это уже следствие того, что редактирование истории становится частью рабочего процесса. Как пользователь меркуриала могу сказать, что у меня нет такого понятия, как захламление истории. Для ее организации я использую ветки и таги. Мне без разницы, сколько у меня коммитов в ветках, в большинстве случаем меня интересуют только последние.
Такое может быть, если не задумываться об атомарных изменениях. Да, для этого нужно изменить подход к программированию, разбивать на мелкие задачи и фокусироваться на них.
Писать, что изменена такая-то константа. Можно еще добавить — зачем.
Вот. Подобное мышление — это уже следствие того, что редактирование истории становится частью рабочего процесса.
[добавил фичу]->[фикс левого бага]->[добавил тесты к фиче]
[фикс левого бага]->[добавил фичу + добавил тесты к фиче]
нам не надо мержить в мастер еще не одобренный патч
А зачем коммит-то каждый раз? Боитесь винчестер сдохнет?
И от этого меня могут оторвать в любой момент, когда мне надо будет переключиться на другую задачу.
Как-то теплым, летним утром шел мужик (1) по мосту и увидел другого мужика (2), стоящего на перилах и явно намеревающегося прыгнуть вниз. 1 — Остановись! Не делай этого! 2 — Почему? 1 — В жизни столько прекрасного ради чего стоит жить. 2 — Например? 1(задумавшись) — Ты вот верующий или атеист? 2 — Верующий. 1 — Я тоже. А ты христианин или еврей? 2 — Христианин 1 — Я тоже. А ты католик или протестант? 2 — Протестант. 1 — Я тоже. А ты приверженец епископальной церкви или баптист? 2 — Баптист. 1 — Ну и ну!!! Я тоже. А ты баптист церкви Бога нашего или баптист церкви Христовой? 2 — Баптист церкви Бога нашего. 1 — Я тоже. А ты баптист ортодоксальной церкви Бога нашего или реформированной? 2 — Реформированной. 1 — Ну просто невероятно! Я тоже. А ты баптист реформированной церкви Бога нашего 1879 года или баптист реформированной церкви Бога нашего 1915 года? 2 — 1915 года. 1 — Ух мерзкий еретик!!! — сказал первый мужик и столкнул второго вниз.
git pull
git commit -am "фича1"
git commit -am "баг в фиче1"
git pull
git push
git commit -am "фича2"
git commit -am "новый баг в фиче1"
git commit -am "Всё, вот теперь точно финал"
git pull
git push
git fetch git reset --hard origin/master
git pull
Зачем пользователи GIT-а редактируют свои коммиты