我在本地有一个分支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
。