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.
