Aider, by default, makes commits after each change (so that you can easily tell it to "undo"). Once a feature is done, you manually squash the commits if desired. Some people love it, some hate it.
You can configure it not to autocommit, although I suppose the "undo" command won't work in that case.