A maintainer with Admin access to the repository is required to fix the main repo:
- 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 24781758 to fix your local repositories"
For everyone else (only required if you were unlucky enough to check out the commit with the broken DCO) to fix your local repo:
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