Improved git workflow with fixup and autosquash
- Published at
- Updated at
- Reading time
- 1min
Who doesn't know these commits only fixing a typo or removing a log message?
Personally I'm a big fan of the --amend
flag to avoid these kind of commits. --amend
lets you add changes to the last commit and rewrites it (you have to force push afterwards).
But what can you do when you want to fix a commit surrounded by other commits? You could surely do some "git magic" but usually this then is too much effort for me and I take the ugly commit.
My colleague Benedikt recently showed me how they work in the Contentful ecosystem and how they deal with situations that need fixes for commits that are right between several other commits.
The key commands to use are:
git commit --fixup <commit>
git rebase -i --autosquash
I could now describe how this works but yeah... Florent Lebreton wrote an excellent article on that so just head over there. ;)
Join 5.5k readers and learn something new every week with Web Weekly.