Заметил, что количество моих коммитов сильно превышает количество коммитов других людей в схожих проектах (на один не самый сложный проект на свете ушло больше 300). Это, конечно, не является моей основной проблемой в жизни, но у меня сложилось впечатление, что я делаю что-то не так, и это может затруднить копание в истории проекта.
Я делаю коммит каждый раз, когда в проект добавляется новая фича, и он после этого приходит в работоспособное состояние, причем неважно, какого размера фича - простое выправление грамматики, багфикс, внедрение какого-то нового функционала (последнее может быть разбито и на несколько коммитов, но после каждого из них проект должен быть работоспособным), причем если я поправил css, сменил отвратительно кривой текст на просто кривой и пересобрал в контроллере экшен - это, по моей философии, должны быть три коммита, потому что они затрагивают разные невзаимосвязанные части проекта. В результате, с одной стороны, я могу получить чуть ли не любой слепок проекта и он в любой момент будет работоспособен, с другой - я получаю ворох коммитов типа 'Typo fix', 'CSS fix', 'Microfix', которые, наверное, могли бы и не существовать.
Короче, как правильно делать?
p.s. Одна из вероятных причин ситуации - то, что бранчингом почти не пользуюсь. Сам дурак, знаю.
upd. Если точнее сформулировать вопрос - должны ли вводимые фичи быть атомарными (один коммит - одна фича или багфикс), или на это можно наплевать?
--
А вообще, Вы сами-то в этой куче можете разобраться?
(Очевидно, что новый человек не сможет. Он, наверное, сделает бранч и продолжит "с нуля".)
– avp Aug 26 '14 at 10:07Делайте, когда получаете очередную рабочую версию (или когда всерьез сомневаетесь в правильности изменений и подозреваете, что придется откатывать, но тут, похоже, надо делать бранч).
Реально (если нет нормального проекта, а при работе в одиночку доработанного проекта почти всегда нет, многие детали остаются "в голове") все равно получится много версий, т.к. что-то сделал и кажется -- вот, все! А через день-другой понимаешь, что нет, нужно бы изменить еще это и это и вот это...
– avp Aug 26 '14 at 19:35