我需要一个本地分支拉动并推送到另一个名称的远程分支。克隆和提取后会自动设置拉取。但推动力有点困难。我想要这个:
git push <remote> <localBranch>:<remoteBranch>
每次都不必担心local:remote
。感谢this blog post,我已经完成了所有工作。
正如博客解释的那样,我将我的全局配置设置为默认使用'upstream'选项。 e.g:
git config --global push.default upstream
它只用git push <remote>
正确地将本地分支推送到远程分支。
但是当我在默认主分支作为上游的遥控器上执行git remote -v show <remote>
时,我得到以下内容:
* 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)
为什么它仍然报告当地的“主”分支作为推送的来源?它甚至说过时了(如果使用当地的'主人'那就是这样)。除了在git push <remote>
中执行Everything up-to-date
结果外,所以它正确使用myLocalBranch
。
我误解了什么吗?这是git remote show命令中的错误吗?或者我的配置是否处于奇怪的状态?
答案 0 :(得分:1)
实际上,OP的错误印象是'git remote
'提到主人是myLocalBranch
推动的分支。
事实并非如此:所有显示的是本地master
正在推送到远程master
(可能在回购的初始克隆期间设置)。
branch.myLocalBranch.merge
未列出myLocalBranch
特定于git remote
的{{1}}配置。