Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. git fetch origin
  2. git branch -f main origin/main if your local main is based off the upstream main
  3. (Optionally) git push --force FORK main if you are keeping your fork's main up-to-date
  4. For all branches based on the bad checkout:
    1. git checkout $BRANCH 
    2. git rebase --interactive main 
    3. Remove the old main commit from the list

Sometimes you might get DCO issues on a release branch when you're merging new commits in, fix it following a similar process:

  1. git checkout release-22.1.x to checkout the release branch at the last release
  2. git merge main to merge in desired commits (use git reset --hard xxxx to set main at a desired commit)
  3. git rebase -i HEAD~10 to initiate a interactive rebase, replace 10 with the number of commits back that has DCO issues
  4. In the rebase file find the commit hashes with DCO issues, replace the 'pick' with 'edit'
  5. You might also need to fix some merge conflicts as the rebase happens, should be straight forward
  6. When the rebase stops at your desired commits, run git commit --amend --no-edit --signoff to signoff the commit
  7. Run git rebase --continue to continue, repeat steps 5-6 until done
  8. Push the changes with git push --force-with-lease origin release-22.1.2