Heroku的政策是忽略除“ master”之外的所有分支。
虽然我确定Heroku的设计师有充分的理由执行此政策(我想是为了存储和性能优化),但对我来说,作为开发人员的结果是,无论我正在从事的本地主题部门如何,我都希望有一个简单的方法将Heroku的master切换到该本地主题分支,并执行“ git push heroku -f”以覆盖Heroku上的master。
通过阅读http://progit.org/book/ch9-5.html的“推送参考规范”部分,我得到的是
git push -f heroku local-topic-branch:refs / heads / master
我真正想要的是一种在配置文件中进行设置的方法,以便“ git push heroku”始终执行上述操作,用当前分支的名称替换local-topic-branch。如果有人知道如何做到这一点,请告诉我!
当然,需要注意的是,只有当我是唯一可以推送到该Heroku应用程序/存储库的人时,这才有意义。测试或质量检查团队可能会管理这样的存储库以尝试不同的候选分支,但是他们必须进行协调,以便他们在任何一天都同意将其推向哪个分支。
不用说,拥有独立的远程存储库(例如GitHub)也是一个好主意,而没有将所有内容备份到此的限制。我会称其为“起源”,并为Heroku使用“ heroku”,以便“ git push”始终将所有内容备份到原始位置,而“ git push heroku”会将我当前所在的任何分支推入Heroku的master分支,并覆盖它如有必要。
这行得通吗?
[远程“ heroku”] 网址= git@heroku.com:my-app.git 推送= + refs / heads / *:refs / heads / master
尽管我想我可以在Heroku上创建一个虚拟应用程序并对此进行试验,但我还是想听听经验更丰富的人的信息。
至于获取,我并不在乎Heroku存储库是否仅写。我仍然有一个单独的存储库,例如GitHub,用于备份和克隆所有工作。
脚注:这个问题与在Heroku中使用分支策略的Good Git部署相似但又不太相同?