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.

Reply via email to