Git 配置默认推送 <foo_local_branch>:<bar_remote_branch>?
Git config to push <foo_local_branch>:<bar_remote_branch> by default?
我正在寻求为 heroku 上的生产和暂存设置一个干净的部署方法,并且想知道一个相当微妙的 git 行为。我们有两个 heroku 应用程序 运行ning,我的 .git/config 看起来像:
[remote "prod"]
url = https://git.heroku.com/<appname>.git
fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "staging"]
url = https://git.heroku.com/<appname>.git
fetch = +refs/heads/*:refs/remotes/heroku/*
因此,如果我想将主仓库的 master
分支推送到 staging
,命令将是:
$ git push staging master
但在我们的工作流程中,我们使用 staging
分支来整合正在开发的功能。然后将 staging
分支部署到登台应用程序需要:
$ git push staging staging:master
问题:git 是否有任何配置设置允许我默认将本地 staging
分支推送到远程 master
分支?即,我想 运行:
$ git push staging master
甚至更好
$ git push staging
将执行的内容与 git 推送暂存 staging:master.
具有相同的效果
您可以将本地 staging 分支的上游分支更改为 stating/master
git branch --set-upstream-to=staging/master
如果您现在 运行 git 从本地暂存分支推送,您将推送到 staging/master
您还可以告诉 git 在创建本地分支时跟踪特定的远程分支
git checkout -b staging staging/master
并且您可以看到您的本地分支正在跟踪哪个远程分支
git branch -vv
我正在寻求为 heroku 上的生产和暂存设置一个干净的部署方法,并且想知道一个相当微妙的 git 行为。我们有两个 heroku 应用程序 运行ning,我的 .git/config 看起来像:
[remote "prod"]
url = https://git.heroku.com/<appname>.git
fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "staging"]
url = https://git.heroku.com/<appname>.git
fetch = +refs/heads/*:refs/remotes/heroku/*
因此,如果我想将主仓库的 master
分支推送到 staging
,命令将是:
$ git push staging master
但在我们的工作流程中,我们使用 staging
分支来整合正在开发的功能。然后将 staging
分支部署到登台应用程序需要:
$ git push staging staging:master
问题:git 是否有任何配置设置允许我默认将本地 staging
分支推送到远程 master
分支?即,我想 运行:
$ git push staging master
甚至更好
$ git push staging
将执行的内容与 git 推送暂存 staging:master.
具有相同的效果您可以将本地 staging 分支的上游分支更改为 stating/master
git branch --set-upstream-to=staging/master
如果您现在 运行 git 从本地暂存分支推送,您将推送到 staging/master
您还可以告诉 git 在创建本地分支时跟踪特定的远程分支
git checkout -b staging staging/master
并且您可以看到您的本地分支正在跟踪哪个远程分支
git branch -vv