2011-05-31 63 views
0

我的Heroku工作流程通常如下:Heroku推错分支

我在本地保留一个'deploy'分支 - 这是我推送的地方。 如果我需要进行更改,我将从主分支(或者在主分区很小时工作),将更改提交到分支或主分区,然后结帐部署。然后我将更新的分支合并到我的部署分支,并从部署推 - git push heroku master

上周某个时候,这开始打破了我。作为一个测试,以复制,我做了发出以下

  1. 在我的主分支,我删除了标识为应用
  2. 我那么COMMITED此更改主分支
  3. 我再结账部署
  4. 我从来没有合并主
  5. git push heroku master
  6. Logo在heroku应用程序上消失。
  7. master和heroku/master都在同一个提交。

这让我发疯。这是我一年多来的工作流程,我从未遇到过这个问题。任何线索?

回答

1

第5步:git push heroku master

你不应该做git push heroku deploy。或者如果你想从deploy在当地推到masterheroku,你必须做git push origin HEAD:master

一般来说,git push origin master将推动与名称主(主要是refs/heads/master)的Ref。如果你必须推deploy你必须使用git push origin deploygit push origin HEAD

我认为部署和主人是足够相同或相似,你以前没有注意到这一点。

+0

git push heroku deploy会在heroku命名的deploy上创建一个新的分支,heorku会忽略这个分支。 'git push heroku master'指定我推入哪个分支,而不是。 – Jarrett 2011-05-31 21:37:43

+0

@Jarrett如果你想从heroku部署本地到master,你必须做'git push origin HEAD:master'。看到我更新的答案。 – manojlds 2011-05-31 21:42:21

+0

这似乎是我的答案在各种问题中都被低估,没有任何理由。太糟了!!! – manojlds 2011-06-01 00:46:47

0

你需要做的是让你的开发分支或分支机构在本地(这可能包括或不包括主)。对于部署w/heroku,您希望将您的部署分支推送到heroku上的远程主服务器。

git push -u heroku +deploy:master 

从现在开始,你要部署每次,所有你需要做的是

git push heroku 

它只会把你的部署分支,因为这是你设置推送到Heroku的遥控器。

希望这会有所帮助。