As a maintainer with Admin access to the repository:
- Clone an up-to-date version of the broken branch
git commit --ammend
--signoff
and ensure the appropriate Sign-off is included in the commit message- Visit https://github.com/hyperledger/besu/settings/branches and change the glob to no-longer match the branch that is about to be force-pushed to
git push --force-with-lease origin master
- Return the branch protection glob to the old value
- Announce the change in the contributors channel a message like "The head of `master` branch for repository `hyperledger/besu` has been rebased to deal with a DCO issue, please follow the instructions on Fixing DCO on master/release- to fix your local repositories"
For everyone else:
git fetch origin
git branch -f master origin/master
if your local master is based off the upstream master- (Optionally)
git push --force FORK master
if you are keeping your fork's master up-to-date - For all branches based on the bad checkout:
git checkout $BRANCH
git rebase --interactive master
- Remove the old master commit from the list