"为 'git push'配置的本地引用:"git 远程显示原点"部分未更新



我在本地有一个分支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"配置的本地引用添加条目:或者何时为此添加条目。

有两个选择

  • 首选:

    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

之后,您可以在本地引用中看到git remote show origin"git push"部分配置的更新。

push.default = upstream: push current branch...

要列出分支及其上游:git branch -vv

最新更新