2011-02-25 182 views
0

我有一个Rails应用程序部署在Heroku上,我有一个git repo,目前正在处理未提交的代码更改。与此同时,我需要在Heroku上独立于本地回购对源进行更改。我能做到以下几点:使用Git分支

  1. 克隆同样的开发机器上Heroku的git仓库使用不同的应用程序的名称虽然相同的帐户
  2. 进行更改,新的本地回购
  3. 提交这些更改新的本地回购
  4. 推动这些变化对Heroku的回购
  5. 简历上我原来的本地回购工作

请问这个方法工作?

回答

3

是的,这个工作流程可以工作,或存储他们 - 不要忘记,如果你做了一个英库回购的克隆,你会改变回购的另一个克隆,你需要原始本地回购中的这些更改。

将来我会建议你假设你的'master'分支是Heroku上的生活分支以及工作的分支 - 你甚至可以将这个分支推送到一个新的应用中进行测试。通过这种方式,可以在本地主分支(或其他分支并合并到主分支)上执行错误修复,并将其推送到heroku,然后当您完成新工作时,将分支合并回主并将其部署到您的实时环境中。我写了一篇关于此主题的博客文章,here

0

我还没有使用过heroku,但如果我想对已部署的应用程序进行更改,而我的沙箱中有未保存的更改,我会执行以下操作之一。

  • stash我的局部变化,从那里我想打一个补丁,使它,部署它,切换回我原来的分支,并从弹出藏匿点切一个分支。

  • 提交我的未保存的更改(进当前的分支 - 说work),切断从那里我想打一个解决方法,让我的修复,部署它,切换回work点的一个分支,重置我HEAD之前我的“临时”承诺并恢复工作。

除非您以非常规方式使用git,否则无需再制作其他克隆。

0

如果您将heroku存储库克隆到单独的目录中,进行了更改并将其从该目录中推入,那么稍后就有可能发生冲突。

如果它只存在未提交更改的问题,那么肯定可以使用“git stash”存储它们,然后使用“git stash pop”检索它。

0

我的工作周期:我总是用#1规则保留master分支“在提交到master后总是推送到Heroku”。如果我在我不想立即部署的东西上编码,我必须分支。

我知道这不适用于所有用例,但总是有一个与Heroku上的高效应用程序相同的分支让我睡得更好;)