A nice workflow is to use feature branches, then squash and merge them into main when done. If you’ve been pushing onto the remote feature branch as you go (for backup say), there will be a little cleanup needed. This is a nice walk through: Always Squash and Rebase your Git Commits.