git-absorb — инструмент, который автоматизирует работу с fixup!-коммитами.Да-да, я тоже про fixup вот только что услышал, когда мне лид про absorb рассказывал.
Когда вы исправляете старый коммит (например, после ревью), многие делают так:
git commit --fixup <хэш_коммита>
git rebase -i --autosquashGit потом «вплетает» эти fixup!-коммиты прямо в нужные места истории.
Красиво, но муторно, особенно если правок много.
git-absorb делает всё это сам.Он смотрит, какие строки вы изменили, определяет, к какому коммиту они относятся, и автоматически создаёт нужные fixup!-коммиты:
git add .
git absorb
Дальше — одно
git rebase -i --autosquash, и у вас идеальная чистая история, будто вы никогда не ошибались. Идея пришла из Mercurial (hg absorb).Для тех, кто любит порядок в истории, но не хочет заниматься им вручную.
👉 github.com/tummychow/git-absorb
Я всё равно буду делать атомарные коммиты, впрочем. Я человек простой.
#git #fixup
