将代码从一个仓库的一个分支推送到另一个仓库的另一个分支

Pushing code from one branch of a repo to another branch of another repo

有一个 repo 说 ABC/A。我已经将这个 repo 分叉到我自己的 github 说 ME/A。我被要求在 ME/A 上创建一个分支,比如 x(最初有 develop 和 master)。我不得不写一些代码,所以我克隆了 ABC/A 并在它的开发分支上工作。但是现在当我必须推送代码时,我不能将它推送到 ABC/A,因为我没有这样做的权利。我必须将代码推送到 ME/A。问题是,我在 ABC/A 的开发分支上工作,但我必须将代码推送到 ME/A x 分支。可以这样推送代码吗?

假设您用于 ME 的遥控器名称为 megit remote -v show 将列出它们)。

然后检查你的分支,做

git push -u me A

其中 A 是分支的名称。 -u 会将您的本地分支设置为跟踪 me 上的上游分支,因此 git pull 将从正确的位置拉取,并且未来的 git pushes 将在没有其他命令的情况下工作。

是的,您可以将任何本地分支推送到任何远程分支。语法是

git push <remote name, e.g. origin> <local branch name>:<remote branch name>

如果您当前的分支(您要推送的分支)名为 develop,则命令为

git push ME develop:x

罗曼的回答是正确的。但是,还有一个额外的步骤对某些人来说可能并不明显。在推送到该仓库中的分支之前,您需要先添加远程名称和新仓库(您尝试推送到的仓库)的 URL。可以这样做;

git remote add <remote name> <remote url>
//For example
git remote add origin2 https://user@github.com/example/new_repo.git

然后你可以像 Roman 的回答一样继续,像这样推送到那个新的 repo 分支

git push origin2 local_branch:new_repo_branch