Выбор коммита для добавления изменений в git
Одна из устоявшихся практик добавления изменений — rebase + fast-forward. Часто со схлопыванием всех коммитов в один жирный. История конечно получается красивая и это просто, но сваливать в одну кучу бизнес-изменения и рефакторинг — так себе затея, атомарные коммиты все-таки не зря придумали.
Но тогда после очередного rebase на основную ветку может возникнуть проблема, когда ваши красивые коммиты перестают компилироваться (например, кто-то тоже порефакторил от души).
И после этого делать коммит fix after rebase
или лепить все исправления в последний коммит через --amend
как-то уныло.
В этом случае поможет --fixup
:
git add someChangedFiles
git commit --fixup=OLD_COMMIT_HASH
git rebase --interactive --autosquash OLD_COMMIT_HASH^
который позволяет добавлять изменения в существующий коммит, даже если он не последний.
Комментарии