Until your branch is merged, your history is yours. After that, it belongs to the team (and company too).
As developers, we spend much more time reading code than writing it. Yet we often neglect the readability of our Git history.
I’ve been writing software over the last 15 years, I’ve worked with many teams, countries, repositories, and review cultures. And I’ve met only one company where cleaning up Git history with interactive rebase was not just tolerated, but welcomed and actively supported.
That experience shaped my view. A clean Git log is not vanity. It’s a professional courtesy to everyone who will handle the code after you.
Local history is for you. Shared history is for the team.
While a feature branch is open and unmerged, it is your private sandbox. You should commit often. Experiment. Break things. Save your progress with messages like wip, fix, try again, forgot file.
That’s completely fine.
But before you open a Pull Request, you have a responsibility to clean up your mess.…