Reputation: 2486
I accidentally created a pull request from the master-branch of my fork of a repo.
While trying to rebase it I noticed that all of these changes were pushed into that pull request — due to the fact that you can simply Add more commits by pushing to the master branch on username/repo
I see you can edit the base branch, but that's obviously not what I'm after.
Upvotes: 51
Views: 32474
Reputation: 27969
Since you can't change the source branch in github (you can only change the target branch), you need to update the source-branch "inplace".
This answer contains three ways of doing this.
In Github you see:
githubuser wants to merge N commit into master from "source-branch"
Since you will change the history of "source-branch", be sure nobody else is using this branch!
If you are the only one developing on this branch, then you can use git rebase -i
and later git push --force-with-lease
.
This way you can rewrite the history of this branch.
Docs about rewriting the git history: https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
If you prefer to start from scratch.
git checkout master
# create a temporary branch
git checkout -b tmp-branch
... now modify the tmp-branch the way you want to. Commit, but don't push.
# rename tmp-branch to "source-branch"
git branch -f -m source-branch
# Be sure nobody is using "source-branch", since the history gets rewritten.
git push --force-with-lease
Imagine your branch "source-branch" was accidentely based on "release" and not on "master". But the github target branch is "master". This way you can change your changes to be on top of master:
git checkout source-pr
git rebase --onto master release
Upvotes: 9
Reputation: 265
Yes we can edit the base branch/source after creating the pull request in the right hand side you get edit option see screenshot 1 attached, click on that and then you will be able to change base/source branch refer more on screenshot 2 attached with this comment
Upvotes: -23
Reputation: 83557
AFAIK, you cannot change the source branch after creating a Pull Request. You have to create a new one instead.
For future reference, the established best practice is to create a new branch before making any commits. You should not commit directly to master, especially when contributing to team projects.
Side note:
you can simply Add more commits by pushing to the master branch on username/repo
More correctly, any changes to the target branch of a PR are automatically included in the PR.
Upvotes: 41