我有一个带有跟踪远程分支的本地存储库。我想在继承遥控器的分支上创建一个新分支,这样我就可以将新分支推送到远程分支。
在我们想要的新分支但不想推送的跟踪本地分支上。
git checkout -b myNewBranch
将分支推送到远程
git push -u RemoteRepo myNewBranch
目前我必须首先将新分支上的遥控器设置为远程仓库。
答案 0 :(得分:2)
我发现你的问题有点令人困惑,但让我们看看这是否正确。
repo
克隆了一个repo O
。repo
中,您有一个跟踪b
的本地分支origin/b
,即b
上名为O
的分支。你在上面(git checkout b
)。nb
。 nb
上没有分支O
。nb
跟踪不存在的分支origin/nb
。最后一步是不可能的(因为)origin/nb
尚不存在。您必须先创建它(如上面的git push -u
命令)。使用-u
进行推送将在nb
上创建O
并在(本地)创建origin/nb
并将nb
的上游分支设置为origin/nb
。< / p>
请注意,如果您尝试设置上游:
$ git checkout -b nb
... optionally, add various commits here ...
$ git branch --set-upstream-to=origin/nb
你会收到错误:
error: the requested upstream branch 'origin/nb' does not exist
hint:
hint: If you are planning on basing your work on an upstream
hint: branch that already exists at the remote, you may need to
hint: run "git fetch" to retrieve it.
hint:
hint: If you are planning to push out a new local branch that
hint: will track its remote counterpart, you may want to use
hint: "git push -u" to set the upstream config as you push.
因此,您必须完全按照上面的建议行事,并在“提示”中显示:
$ git checkout -b nb
... optionally, add various commits here ...
$ git push -u origin nb
Counting objects: 10, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (7/7), 633 bytes | 0 bytes/s, done.
Total 7 (delta 2), reused 0 (delta 0)
To ssh://[redacted]
* [new branch] nb -> nb
Branch nb set up to track remote branch nb from origin.
答案 1 :(得分:0)
如果您没有未提交的更改(请使用git status
检查),只需通过指定第二个参数的起点来检查远程分支:
git checkout -b mybranch remote/rembranch
这将从mybranch
开始创建分支remote/rembranch
。