Git:这是分支的默认configuration远程?

我有一个远程裸仓库hub 。 我只在master分支工作。 下面的这个错误信息的最后一句话让我想知道:如何找出哪个是“当前分支的默认configuration远程” ? 我该如何设置?

 [myserver]~/progs $ git remote -v hub ~/sitehub/progs.git/ (fetch) hub ~/sitehub/progs.git/ (push) [myserver]~/progs $ git branch -r hub/master [myserver]~/progs $ git remote -v hub ~/sitehub/progs.git (fetch) hub ~/sitehub/progs.git (push) [myserver]~/progs $ cat .git/HEAD ref: refs/heads/master [myserver]~/progs $ git pull hub 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. 

跟踪远程分支

你可以使用git-branch的track选项来指定默认的远程仓库。 你通常通过在创build本地主分支时指定–track选项来做到这一点,但是因为它已经存在,所以我们只需手动更新configuration,如下所示:

编辑你的.git/config

 [branch "master"] remote = origin merge = refs/heads/master 

现在你可以简单地按住git pull。

[ 来源 ]

你可以更简单地做到这一点:
git push -u hub master推时,或者:
git branch -u hub/master或:

这会将当前签出分支的远程设置为hub/master
git branch --set-upstream-to hub/master

这会将名为branch_name的分支的远程设置为hub/master
git branch branch_name --set-upstream-to hub/master


--set-upstream-to的上述语法适用于Git v1.8.0及以上版本

如果您使用v1.7.x或更低版本,则必须使用--set-upstream
git branch --set-upstream master hub/master

为了完整起见:先前的答案告诉我们如何设置上游分支,但不知道如何去看。

有几种方法可以做到这一点:

git branch -vv显示所有分支的信息。 (在大多数terminal中以蓝色格式)

cat .git/config也显示了这一点。

以供参考:

  • 我怎样才能让git向我展示哪些分支正在跟踪什么?
  • 这个分支在git中跟踪(如果有的话)是什么?