Re: [petsc-dev] Commit squashing in MR
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.
participants (1)
-
Mark Adams