I don't think there's any way to roll back commits (beyond the very most recent one) in the UI, you'd have to use the command-line git tool. If you're using the GitHub for Windows application, there's a menu item somewhere in the app that should open PowerShell, and already be in the correct working directory for your repo. git log Will show you a log of your commits, including the SHA hashes that you can use to reference them. git reset --hard HEAD~1 Will roll back the most recent commit; HEAD~2 will roll back the most recent 2 commits, etc. Instead of HEAD~N, you can also use a specific SHA hash to roll back to a specific commit. Once you've rolled back, you can force your online forked repo on GitHub to be the same by forcing a push: git push origin HEAD --force As an alternative, you could forcibly reset your local repo and your online fork to the current version of the official repo: git fetch upstream
git reset --hard upstream/master git push origin HEAD --force NOTE: "RESET --HARD" IS DESTRUCTIVE, AND WILL CAUSE YOU TO LOSE THE WORK ON PREVIOUS COMMITS. YOU MAY WANT TO BACK UP CHANGES YOU'VE MADE FIRST. Once you've got your repo rolled back, you can create new branches based on your master branch. You can do this from the UI, or from the command line with: git checkout -b my-new-branch-name Each Pull Request you make will be based on a branch, and any commits to that branch before the PR is accepted will also be part of that PR. This is why your two logically separate changes (two different sheets) both on your master branch were part of the same PR. However, if you have changes on two different branches, you can create two different PRs with different content.