有一个叫做ABC/A的代码库。我将其fork到了我的Github账户下,名为ME/A。现在我被要求在ME/A上创建一个分支x(之前只有develop和master分支)。我需要编写一些代码,因此我先克隆了ABC/A并在它的develop分支上进行了工作。但是现在当我要推送代码时,由于没有权限,无法将代码推送到ABC/A。我必须将代码推送到ME/A。问题是,我已经在ABC/A的develop分支上工作了,但我必须将代码推送到ME/A的x分支。是否可能以这种方式推送代码?
有一个叫做ABC/A的代码库。我将其fork到了我的Github账户下,名为ME/A。现在我被要求在ME/A上创建一个分支x(之前只有develop和master分支)。我需要编写一些代码,因此我先克隆了ABC/A并在它的develop分支上进行了工作。但是现在当我要推送代码时,由于没有权限,无法将代码推送到ABC/A。我必须将代码推送到ME/A。问题是,我已经在ABC/A的develop分支上工作了,但我必须将代码推送到ME/A的x分支。是否可能以这种方式推送代码?
是的,你可以将任何本地分支推送到任何远程分支。语法如下:
git push <remote name, e.g. origin> <local branch name>:<remote branch name>
如果您当前要推送的分支名为develop
,则命令应该如下:git push ME develop:x
Roman的答案是正确的。但是,对于一些人来说可能不太明显的是,你需要先添加新仓库(您要推送到的仓库)的远程名称和URL,然后再将其推送到该仓库中的一个分支。可以像这样完成:
git remote add <remote name> <remote url>
//For example
git remote add origin2 https://user@github.com/example/new_repo.git
然后您可以像Roman的回答那样继续进行,通过以下方式将其推送到新的存储库分支
git push origin2 local_branch:new_repo_branch
ME
的远程名称为me
(git remote -v show
将列出它们)。git push -u me A
其中A
是分支的名称。使用-u
会将您的本地分支设置为跟踪me
上游分支,因此git pull
将从正确的位置拉取,并且未来的git push
将无需其他命令即可运行。