问题
On Github, you can make pull requests to add functionality to a project. One's contributions have to be on a branch that, if the request is accepted, will be merged into the master branch (or an analogous one) of the project.
Now, I submitted a pull request on Github and my contributions are on a branch called patch-1
. I can modify the name of the branch locally by
git branch -m patch-1 newname
and in principle I can also rename it on my forked repo on Github by following the instruction found in this answer. This is done in practice by removing the old branch, patch-1
in my case, and repush it with a different name newname
.
Is it allowed to rename the branch patch-1
on my forked repository on Github when it constitutes a pull request?
Or it causes problems on the pull request management?
Is there any way to rename a branch on a forked repository on Github when that branch is a pull request?
回答1:
"Renaming" a remote branch in git, as indicated by the link you provided, is really just deleting a branch, followed by pushing a new one with the same commit hash but a new name. If you have a pull request open for branch patch-1, when you delete that branch, the pull request will be closed.
So, no you can't rename the branch with a pull request open without deleting the branch and removing the pull request. However, there's nothing stopping you from doing that, pushing a new branch with a new name, and creating a new pull request.
回答2:
Short answer:
No
Alternative approach:
- Open a new PR with a new (renamed) branch
- Close the old PR referencing the new one (e.g. Closed in favor of #new_pr_id)
- Modify the description of the new PR (e.g. Supersedes #old_pr_id)
- (optional) Make a comment about relevant discussion on the old PR
Note:
The name of a remote branch (constituting a PR) needed to change, because the build system needed the branch's name that ends with the ticket ID. However, the PR was opened prior to official ticket creation (from specs), and had contained valuable discussion. The described approach was the only way to make build system work, and also not lose any information (although there was an extra step in tracking it).
来源:https://stackoverflow.com/questions/20007578/renaming-a-branch-while-on-pull-request