`为'git push'配置的本地引用:``git remote show origin`的`部分没有更新

时间:2017-06-11 14:01:17

标签: git github

我在本地有一个分支sf,在远程有一个分支serverfix

git remote show origin的输出:

* remote origin
  Fetch URL: git@github.com:pr0g4amtest1ng/git-remote.git
  Push  URL: git@github.com:pr0g4amtest1ng/git-remote.git
  HEAD branch: master
  Remote branches:
    master    tracked
    serverfix tracked
  Local branches configured for 'git pull':
    master merges with remote master
    sf     merges with remote serverfix
  Local ref configured for 'git push':
    master pushes to master (up to date)

为了让git push更容易,我做了以下事情:

git config push.default upstream
git push -u

现在,如果我再次运行git remote show origin

* remote origin
  Fetch URL: git@github.com:pr0g4amtest1ng/git-remote.git
  Push  URL: git@github.com:pr0g4amtest1ng/git-remote.git
  HEAD branch: master
  Remote branches:
    master    tracked
    serverfix tracked
  Local branches configured for 'git pull':
    master merges with remote master
    sf     merges with remote serverfix
  Local ref configured for 'git push':
    master pushes to master (up to date)

奇怪地为'git push'配置的本地参考:根本没有改变。 不应该添加像sf pushes to serverfix (up to date)这样的条目。

但如果我执行git push origin sf,它会提供Everything up-to-date并且不再在远程创建sf分支,这意味着它正在跟踪。

我如何知道'git push'正在跟踪哪个分支? 为什么没有为本地参考配置为'git push'添加条目:或者在此时添加条目。

2 个答案:

答案 0 :(得分:0)

push.default =上游:推送当前分支 ...

列出带有上游分支的分支:git branch -vv

答案 1 :(得分:0)

您有两种选择

  • 首选:

    git config remote.origin.push <local_branch_refs>:<remote_branch_refs>

  • 第二选择: git config --edit编辑.git/config文件。

      

    [远程“来源”]
       推= <local_branch_refs>:<remote_branch_refs>


对于您的情况,应为:

git config remote.origin.push refs/heads/sf:/refs/heads/serverfix

之后,您可以在{strong {1}}为“ git push”配置的“本地参考”中看到更新。