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中跟踪(如果有的话)是什么?