maindrop-00113 lines mergedmade to order · ships in about a week
vibetokens

pull requests · line 05 of drop 001

One last commit

“One last commit” is the small final fix before a branch is ready. It is rarely the last one, and good commit habits keep the history readable anyway.

“One last commit” is the promise a developer makes when a pull request is almost done. A test is failing, a reviewer asked for a rename, the linter has an opinion. One more commit should finish it. Then CI finds something else.

It happens because each push is a new round of feedback. Continuous integration runs the full test suite, type checks and linters on every push, and the branch is only done when all of them pass. Reviewers also see the change fresh each time and may catch something new. None of that is anyone doing it wrong. It is the loop working.

A few habits shorten it. Run the same checks locally before you push: the test command, the type checker and the formatter. Read the whole CI log rather than the first red line, so you fix everything in one round. Open the pull request as a draft while you are still iterating, so reviewers are not pinged for every push.

The history can stay clean even when the loop is long. git commit --fixup <sha> marks a commit as a fix for an earlier one, and git rebase -i --autosquash folds those fixups in before review. Or let the merge method handle it: squash and merge turns the whole run of small commits into one.

It is also fine to stop for the day. A branch that is green tomorrow morning is better than one pushed at 6:40 PM with a message that says “ok really final.”

The piece says “ONE LAST COMMIT.” The proposed footnote on the back says how long ago that was.

In the wild

One last commit to fix the snapshot test, then it’s ready for another look.

On a shirt

Wear ONE LAST COMMIT.

Said at 5:52 PM. Still true, in a sense.