git message - 给定分支的默认配置远程是什么?

时间:2013-04-24 11:26:19

标签: git

You asked to pull from the remote 'hub', but did not specify a branch.
Because this is not the default configured remote for your current
branch, you must specify a branch on the command line.

我的问题是:以下是什么意思?

default configured remote for your current branch

我们配置了远程REPO。

有人可以澄清一下吗?

3 个答案:

答案 0 :(得分:1)

每个本地分支都可以配置为“跟踪”远程分支。 这意味着:每当你拉远程分支并在远程分支上发生更新时,git将尝试更新你的本地分支以包含来自远程分支的所有变更集:如果本地分支上没有任何变化,它将被快速转发到远程分支的新尖端;如果您在本地分支上有本地提交,则会合并两个不同的分支。

otoh,没有规则说您的本地分支必须跟踪远程分支。 拥有一个本地分支foobar和一个远程分支hub/foobar完全有效,它们彼此无关。

经验法则是:

  • 克隆远程存储库时,默认情况下,所有远程分支(在clone时存在)将由本地分支跟踪

  • 添加新遥控器时,默认情况下不会跟踪任何远程分支

如果你想让一个本地分支明确地跟随一个远程分支,我发现在推送到遥控器时最容易使用-u标志:

 git checkout localbranch
 git push -u <REMOTE>

答案 1 :(得分:0)

表示它说的是什么,你试图从远程仓库hub拉出来,而指定分支的远程是其他东西。如果您执行git branch -a,它会向您显示该分支当前在远程方面的跟踪情况。

答案 2 :(得分:0)

运行

git remote -v

它将显示每个遥控器的名称以及相关git服务器的URL 然后,

git pull [REMOTE] master

应该允许你从git服务器拉。 [REMOTE]是您从上一个命令中选取的名称。

修改即可。我想补充更多细节。使用git clone [GIT_URL]克隆git存储库时,git会自动配置与origin分支关联的名为master的远程数据库。运行git pull相当于运行git pull origin mastergit pushgit push origin master相同。
要回到您的问题,您运行git pull hub,但默认关联远程分支是origin-master,因此您可能必须运行

git pull hub master

让它运作