3

我有一个项目在 git 中并部署到 heroku。远程 urlgit@heroku.com:myappname.git和 .git/config 看起来像这样:

[core]
  repositoryformatversion = 0
  filemode = true
  bare = false
  logallrefupdates = true
[remote "origin"]
  fetch = +refs/heads/*:refs/remotes/origin/*
  url = git@heroku.com:myappname.git
[branch "master"]
  remote = origin
  merge = refs/heads/master

我刚刚制作了一个名为“myappname-staging”的新 Heroku 应用程序,我想将其用作该应用程序的暂存站点。我在想我会设置它,以便“主”分支推送到生产远程,而“开发”分支推送到暂存远程。这是处理这种情况的明智/传统方式吗?

我无法完全弄清楚如何做到这一点。当我在 heroku 上制作登台应用程序时,它给了我这个:

Creating myappname-staging.... done
http://myappname-staging.heroku.com/ | git@heroku.com:myappname-staging.git
Git remote heroku added

我的配置现在看起来像这样:

[core]
  repositoryformatversion = 0
  filemode = true
  bare = false
  logallrefupdates = true
[remote "origin"]
  fetch = +refs/heads/*:refs/remotes/origin/*
  url = git@heroku.com:myappnamestef.git
[branch "master"]
  remote = origin
  merge = refs/heads/master
[remote "heroku"]
  url = git@heroku.com:myappname-staging.git
  fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "staging"]
  url = git@heroku.com:myappname-staging.git
  fetch = +refs/heads/*:refs/remotes/staging/*

谁能让我直截了当?

谢谢,最大

4

1 回答 1

5

添加这个:

[branch "development"]
  remote = staging
  merge = refs/heads/master

您可以通过以下方式从命令行执行此操作:

$ git config branch.development.remote staging
$ git config branch.development.merge refs/heads/master

这将设置分支以在暂存development时跟踪分支。master

于 2011-05-09T16:43:19.430 回答