[petsc-dev] Commit squashing in MR

Mark Adams mfadams at lbl.gov
Wed Mar 3 13:49:10 CST 2021


On Tue, Mar 2, 2021 at 11:33 PM Jed Brown <jed at jedbrown.org> wrote:

> Satish Balay via petsc-dev <petsc-dev at mcs.anl.gov> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20210303/bf644174/attachment.html>


More information about the petsc-dev mailing list