Связано: должен ли каждый git коммит оставлять проект в рабочем состоянии?
Предположим, я делаю следующие коммиты локально:
Модифицировать схему базы данных, ломая приложение.
Обновите приложение, чтобы оно снова было совместимо со схемой базы данных.
Пока я нажимаю обе коммиты, master
остается в рабочем состоянии. Однако историческая версия нарушена.
Я знаю, что я могу использовать, git rebase -i
чтобы раздавить коммиты вместе. Однако итоговый коммит будет большим и менее описательным. Если мне нужно будет просмотреть историю коммитов, чтобы выяснить, почему я что-то изменил, я бы предпочел найти исходный коммит, показывающий, что я сделал и почему.
Мои вопросы:
Кто-нибудь сталкивался с трудностями из-за сломанных исторических коммитов в мастере?
Если так, есть ли простой способ избежать таких трудностей, не отбрасывая отдельные сообщения о коммитах и изменения?