On Tue, Mar 2, 2021 at 11:33 PM Jed Brown <[email protected]> wrote: > 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) > > Oh, this has a side effect that can not be undone with some sort of simple --abort.
Not for me and Blaise. > 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. > Humm, sounds interesting. I'll try it. Looks simple.
