I’ve been trying to explain to someone recently why rebasing and force pushing their feature branch has no benefit when we use a squash commit strategy for merging to main.
While you’re 100% right, is there anything wrong with this approach? Sometimes I like to keep by personal branches clean, especially before I open a PR.
It depends on your intent. If you’re doing it to keep history clean and linear in the long term, it’s a huge waste of time as it gets splatted into a single squashed merge commit. It also makes it difficult for reviewers to rereview your changes as GitHub/Lab can’t calculate the diff because you keep moving the goalposts with force pushes.
If you’re doing it for cleanliness on your local branch then I guess that’s fine, but I find it anti-social in a multi participant repo.
While you’re 100% right, is there anything wrong with this approach? Sometimes I like to keep by personal branches clean, especially before I open a PR.
It depends on your intent. If you’re doing it to keep history clean and linear in the long term, it’s a huge waste of time as it gets splatted into a single squashed merge commit. It also makes it difficult for reviewers to rereview your changes as GitHub/Lab can’t calculate the diff because you keep moving the goalposts with force pushes.
If you’re doing it for cleanliness on your local branch then I guess that’s fine, but I find it anti-social in a multi participant repo.