Because someone else might need to work on something on or from my branches. And I don’t want garbage in my history. There are cases I might not be able to squash merge, so all my history will be in the project history. I want each commit to be clean. It is not a lot of effort, and forces me to increase code quality, because I review my code more often.
Rules for all projects I manage: never rebase published branches and always publish clean code (even implementation is unfinished).
From experience following these simple rules make the whole project management easier and more effective
Why not? Do you push directly to master?
Because someone else might need to work on something on or from my branches. And I don’t want garbage in my history. There are cases I might not be able to squash merge, so all my history will be in the project history. I want each commit to be clean. It is not a lot of effort, and forces me to increase code quality, because I review my code more often.
Rules for all projects I manage: never rebase published branches and always publish clean code (even implementation is unfinished).
From experience following these simple rules make the whole project management easier and more effective