Git 如何使本地分支跟踪具有不同名称的远程分支?
我有一个带有两台服务器的设置(暂存和生产)。这两个分支都有一个主分支,我可以推它(我使用heroku,但这并不重要) 目前,我可以使用以下命令推送到暂存:Git 如何使本地分支跟踪具有不同名称的远程分支?,git,Git,我有一个带有两台服务器的设置(暂存和生产)。这两个分支都有一个主分支,我可以推它(我使用heroku,但这并不重要) 目前,我可以使用以下命令推送到暂存: git push staging master 这将推送我的本地主机分支。但是,我希望有一个名为staging的本地分支,它将推送到远程存储库staging/master。如何做到这一点?要手动完成 git push staging staging:master 我建议您设置一个配置,允许您自动执行此操作,不过: git config r
git push staging master
这将推送我的本地主机分支。但是,我希望有一个名为staging
的本地分支,它将推送到远程存储库staging/master
。如何做到这一点?要手动完成
git push staging staging:master
我建议您设置一个配置,允许您自动执行此操作,不过:
git config remote.staging.push refs/heads/staging:refs/heads/master
它告诉git将本地的staging
分支推送到远程端的master
(即staging-remote)(如果我正确记住了语法),并且可以选择
git config branch.staging.remote staging
这将告诉git,如果您签出了staging
,只需键入git push
,它就应该推送到staging
远程
当然,我认为您可以使用git branch
和git remote
来实现这一点,但我刚刚经历了创建类似设置(2台服务器)的过程,我发现直接使用配置更容易。要手动完成
git push staging staging:master
我建议您设置一个配置,允许您自动执行此操作,不过:
git config remote.staging.push refs/heads/staging:refs/heads/master
它告诉git将本地的staging
分支推送到远程端的master
(即staging-remote)(如果我正确记住了语法),并且可以选择
git config branch.staging.remote staging
这将告诉git,如果您签出了staging
,只需键入git push
,它就应该推送到staging
远程
当然,我认为您可以使用git branch
和git remote
来实现这一点,但我刚刚经历了创建类似设置(2台服务器)的过程,我发现直接使用配置更容易。要始终推动跟踪:
首先,确保配置选项push.default
设置为tracking
:
git config push.default tracking
其次,为本地分支设置上游:
git branch --set-upstream <localbranch> <remotename>/<remotebranch>
git分支——设置为上游/
仅将一个特定分支推送到特定的不同远程分支
或者,如果您想保持默认的推送行为(将所有分支推送到远程上的匹配),您可以单独告诉Git,当推送到特定的远程时,您的本地分支实际上“匹配”了远程上的另一个分支:
git config remote.<remotename>.push refs/heads/<localbranch>:refs/heads/<remotebranch>
git config remote..push refs/heads/:refs/heads/
有关Git配置选项的更多详细信息,请参见此处:
要始终按入跟踪:
首先,确保配置选项push.default
设置为tracking
:
git config push.default tracking
其次,为本地分支设置上游:
git branch --set-upstream <localbranch> <remotename>/<remotebranch>
git分支——设置为上游/
仅将一个特定分支推送到特定的不同远程分支
或者,如果您想保持默认的推送行为(将所有分支推送到远程上的匹配),您可以单独告诉Git,当推送到特定的远程时,您的本地分支实际上“匹配”了远程上的另一个分支:
git config remote.<remotename>.push refs/heads/<localbranch>:refs/heads/<remotebranch>
git config remote..push refs/heads/:refs/heads/
有关Git配置选项的更多详细信息,请参见此处:
作为旁注,我写了一篇关于使用git管理临时服务器和生产服务器的文章;我不知道这是否与您或阅读此问题的其他人有关;我不知道这是否与你或其他阅读此问题的人有关。