问题
There is a repo say ABC/A. I had forked this repo to my own github say ME/A. I was asked to create a branch on ME/A say x (originally there were develop and master). I had to write some code, so I cloned ABC/A and worked on its develop branch. But now when I have to push the code, I cannot push it to ABC/A as i dont have rights to do so. I have to push the code to ME/A. The problem is, I worked on develop branch for ABC/A but I have to push the code to ME/A x branch. Is it possible to push code in such a way?
回答1:
Yes, you can push any local branch to any remote branch. The syntax is
git push <remote name, e.g. origin> <local branch name>:<remote branch name>
If your current branch (the one you want to push) is called develop
, the command would be
git push ME develop:x
回答2:
The answer by Roman is correct. However, there is an additional step that might not be obvious for some. You will need to first add the remote name and URL of the new repo(Repo you are trying to push to), before pushing to a branch in that repo. This can be done like so;
git remote add <remote name> <remote url>
//For example
git remote add origin2 https://user@github.com/example/new_repo.git
Then you can proceed like in Roman's answer, by pushing to that new repo branch like so
git push origin2 local_branch:new_repo_branch
回答3:
Assume that the name of the remote you are using for ME
is called me
(git remote -v show
will list them).
Then with your branch checked out, do
git push -u me A
where A
is the name of the branch. The -u
will set your local branch to track the upstream branch on me
, so git pull
will pull from the right place, and future git push
es will work without additional commands.
来源:https://stackoverflow.com/questions/35939308/pushing-code-from-one-branch-of-a-repo-to-another-branch-of-another-repo