Git:分支的默认配置远程是哪个?
-
27-10-2019 - |
题
我有一个远程的裸仓库hub
。我仅在master
分支中工作。
此错误消息的最后一句话使我感到奇怪:我如何找出“当前分支的默认配置的远程服务器” ?以及我该如何设置?
通用标签
解决方案
跟踪远程分支
您可以使用git-branch的track选项指定用于推送和拉出的默认远程存储库。通常,在创建本地master分支时,通过指定--track选项来执行此操作,但是由于它已经存在,我们将像这样手动更新配置:
编辑您的基因标记代码 通用标签
现在您可以简单地进行git push和git pull。
[源]
其他提示
您可以更简单地做到这一点,从而确保您的基因标记代码保持有意义的状态:
使用Git版本1.8.0和更高版本 按下时的
.gitconfig
,或:
遗传标记代码
OR
(这会将当前已检出分支的遥控器设置为 git push -u hub master
)。
git branch -u hub/master
OR
(这会将名为hub/master
的分支的远程设置为 git branch --set-upstream-to hub/master
)。
遗传标记代码
如果您使用的是branch_name
或更早的版本
您必须使用hub/master
:
遗传标记代码
hub/master
的分支的远程设置为 git branch --set-upstream-to hub/master
)。遗传标记代码
branch_name
或更早的版本
您必须使用hub/master
:
遗传标记代码
为了完整起见:前面的答案讲述了如何设置上游分支,而不是如何看到它。
有几种方法可以做到这一点:
git branch -vv
显示所有分支的信息。(在大多数终端中为蓝色格式)
cat .git/config
也显示了这一点。
供参考:
为分支(例如主节点)获取有效推送远程的命令是:
git config branch.master.pushRemote ||git config remote.pushDefault ||git config branch.master.remote
这是原因(来自“ man git config”输出):
branch.name.remote [em] [...]告诉git fetch和git push从[...]取回/推入哪个遥控器[可能会被 remote.pushDefault 覆盖(对于所有分支)(对于所有分支)[和],当前分支[..]会被 branch.name.pushRemote 覆盖。..]
由于某种原因,“ man git push”仅讲述关于branch.name.remote(即使它的优先级最低),但错误地指出,如果未设置,则push默认为原点-它不会,仅当克隆存储库时,branch.name.remote设置为origin,但是如果删除此设置,即使您仍然有原始origin,git push也会失败