Satish Balay via petsc-dev <[email protected]> writes:
On Wed, 3 Mar 2021, Blaise A Bourdin wrote:
Hi,
This is not technically a petsc question. It would be great to have a short section in the PETSc integration workflow document explaining how to squash commits in a MR for git-impaired developers like me.
Anybody wants to pitch in, or explain me how to do this?
To squash commits - I use the 'squash' action in 'git rebase -i HASH' and figure out the HASH to use from 'gitk main..branch'
[as git rebase requires the commit prior to the first commit of interest]
git provides many ways of modifying the branch (and the rebase topic is very generic) so I think its best to rely on proper git docs/tutorials [and its not really specific to petsc workflow]
You can do it in one line, without changing the base: git rebase -i $(git merge-base main HEAD) An alternative is git rebase -i main which gives you interactive rebase to replay on top of current 'main'. This does two things at once and changing the base for your branch is not always desirable.