我有一个带有跟踪远程分支的本地存储库。我想从继承遥控器的那个分支上创建一个新分支,这样我就可以将新分支推送到遥控器。
在我们想要在新分支中但不想推送的跟踪本地分支上。
git checkout -b myNewBranch
将分支推送到远程
git push -u RemoteRepo myNewBranch
目前我必须首先将新分支上的远程设置为远程仓库。
我有一个带有跟踪远程分支的本地存储库。我想从继承遥控器的那个分支上创建一个新分支,这样我就可以将新分支推送到遥控器。
在我们想要在新分支中但不想推送的跟踪本地分支上。
git checkout -b myNewBranch
将分支推送到远程
git push -u RemoteRepo myNewBranch
目前我必须首先将新分支上的远程设置为远程仓库。
我发现你的问题措辞有点混乱,但让我们看看这是否正确。
repo
从一些原始机器克隆的 repo O
。repo
中,您有一个b
正在跟踪的本地分支origin/b
,即名为b
on的分支O
。你在上面(git checkout b
)。nb
. nb
上没有分支O
。nb
跟踪不存在的分支origin/nb
。最后一步是不可能的(还),因为origin/nb
还不存在。您必须先创建它(如git push -u
上面的命令)。推送-u
将创建nb
onO
并且(本地)创建origin/nb
并设置上游分支nb
to origin/nb
。
请注意,如果您尝试设置上游:
$ 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.
如果您没有未提交的更改(使用 进行检查git status
),只需通过在第二个参数处指定起点来检查远程分支:
git checkout -b mybranch remote/rembranch
这将创建分支mybranch
,从remote/rembranch
.