我有两个服务器(登台和制作)的设置。这两个都有一个我可以推送的主分支(我使用heroku,虽然它不重要)。
目前,我可以使用此命令推送到暂存:
git push staging master
哪个会推送我的本地master
分支机构。但是,我希望有一个名为staging
的本地分支,它将推送到远程存储库staging/master
。怎么办呢?
答案 0 :(得分:2)
首先,确保配置选项push.default
设置为tracking
:
git config push.default tracking
其次,设置本地分支的上游:
git branch --set-upstream <localbranch> <remotename>/<remotebranch>
或者,如果你想保持默认的推送行为(将所有分支推送到远程匹配),你可以单独告诉Git,当推送到那个特定的遥控器时,你的本地分支实际上“匹配”了一个不同的远程:
git config remote.<remotename>.push refs/heads/<localbranch>:refs/heads/<remotebranch>
有关Git配置选项的更多详细信息,请参见此处:
答案 1 :(得分:1)
手动完成,
git push staging staging:master
我建议可能会设置一个允许你自动执行此操作的配置:
git config remote.staging.push refs/heads/staging:refs/heads/master
告诉git将本地staging
分支推送到远程端的master
(即登台远程)(如果我记得正确的语法),并可选择
git config branch.staging.remote staging
会告诉git如果您签出staging
并输入git push
,则应该推送到staging
遥控器。
当然我认为您可以使用git branch
和git remote
执行此操作,但我刚刚完成了创建类似设置(2台服务器)的过程,我发现使用它更容易配置直接。