';git远程显示<;远程>';不遵守';配置push.default';

';git远程显示<;远程>';不遵守';配置push.default';,git,Git,我需要一个本地分支来拉和推一个不同名称的远程分支。克隆和获取后会自动设置拉取。但推动有点困难。我想要这个: git push <remote> <localBranch>:<remoteBranch> 只需使用git push,它就可以正确地将本地分支推送到远程分支 但是,当我在一个默认主分支作为上游的远程设备上执行git remote-v show时,我会得到以下结果: * remote <remote> Fetch URL: <gi

我需要一个本地分支来拉和推一个不同名称的远程分支。克隆和获取后会自动设置拉取。但推动有点困难。我想要这个:

git push <remote> <localBranch>:<remoteBranch>
只需使用git push,它就可以正确地将本地分支推送到远程分支

但是,当我在一个默认主分支作为上游的远程设备上执行
git remote-v show
时,我会得到以下结果:

* remote <remote>
  Fetch URL: <giturl>
  Push  URL: <giturl>
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    myLocalBranch merges with remote master
  Local ref configured for 'git push':
    master pushes to master (local out of date)
*远程
获取URL:
推送URL:
总支:硕士
远程分支:
主跟踪
为“git pull”配置的本地分支:
myLocalBranch与远程主机合并
为“git推送”配置的本地引用:
主机推送到主机(本地过期)
为什么它仍然报告本地“主”分支作为推送源?它甚至还说过时了(如果使用本地的“master”,则是过时的)。除了执行
git推送
会导致
所有内容都是最新的
,因此它确实正确地使用了
myLocalBranch


我是不是误解了什么?这是git remote show命令中的错误吗?还是我的配置进入了一种奇怪的状态?

实际上,OP有一种错误的印象,即“
git remote
”提到master是
myLocalBranch
正在推进的分支

这不是真的:显示的只是本地
主机
正在推送到远程
主机
(可能是在repo的初始克隆期间设置的)


特定于
myLocalBranch
branch.myLocalBranch.merge
配置未被
git remote

列出,我确实希望“myLocalBranch”推/拉到远程“主”分支。据我所知,它正在这样做。我遇到的问题是,为什么
git remote show
告诉我为git push配置的本地ref是我的本地主分支,而实际上它正确地使用了“myLocalBranch”?@Tyson:global push策略是
匹配的
简单的
(取决于您的git版本),由于同时存在本地和远程
主机
分支,因此
git remote show
命令提到,由于该全局策略,本地
主机
配置为推送到远程
主机
(同名)。独立于该策略,您的
myLocalBranch
注册了一个上游分支(此处为远程
master
)。但我的全局推送策略不匹配或不简单。正如我在问题中所说,我已经通过git config--global push.default upstream将其更改为upstream
@Tyson是的,我的错误是:“upstream”,但这并没有改变主分支在本地和远程repo上都以相同名称存在的事实。这就是为什么它被列为“推送大师”的原因。但这是不正确的!如果我从myLocalBranch执行一个简单的
git push
,它会正确地跟随
branch.myLocalBranch.remote=
branch.myLocalBranch.merge=refs/heads/master
,并将myLocalBranch推送到.master。那么为什么
git remote show
列出了错误的本地引用?
* remote <remote>
  Fetch URL: <giturl>
  Push  URL: <giturl>
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    myLocalBranch merges with remote master
  Local ref configured for 'git push':
    master pushes to master (local out of date)