Heroku 的政策是忽略除“master”之外的所有分支。
虽然我确信 Heroku 的设计者对这个政策有很好的理由(我猜测是为了存储和性能优化),但对我作为开发人员来说,结果是无论我正在研究什么本地主题分支,我都想要一种简单的方法将 Heroku 的 master 切换到本地主题分支,并执行“git push heroku -f”来覆盖 Heroku 上的 master。
我从阅读《Pushing Refspecs》部分中得到了什么http://progit.org/book/ch9-5.html http://progit.org/book/ch9-5.html is
git push -f heroku local-topic-branch:refs/heads/master
我真正想要的是一种在配置文件中进行设置的方法,以便“git push heroku”始终执行上述操作,替换本地主题分支与我当前分支的名称相同。如果有人知道如何实现这一点,请告诉我!
当然,需要注意的是,只有当我是唯一可以推送到 Heroku 应用程序/存储库的人时,这才是明智的。测试或 QA 团队可能会管理这样的存储库来尝试不同的候选分支,但他们必须进行协调,以便他们都同意在任何一天推送到哪个分支。
不用说,拥有一个单独的远程存储库(如 GitHub)并且没有此限制来备份所有内容也是一个非常好的主意。我将其称为“origin”,并为 Heroku 使用“heroku”,以便“git Push”始终将所有内容备份到 origin,而“git Push heroku”则将我当前所在的任何分支推送到 Heroku 的 master 分支,并覆盖它如果需要的话。
这行得通吗?
[remote "heroku"]
url = [email protected] /cdn-cgi/l/email-protection:my-app.git
push = +refs/heads/*:refs/heads/master
在开始实验之前,我想听听更有经验的人的意见,尽管我想我可以在 Heroku 上创建一个虚拟应用程序并进行实验。
至于获取,我并不关心 Heroku 存储库是否是只写的。我仍然有一个单独的存储库,例如 GitHub,用于备份和克隆我的所有工作。
脚注:这个问题类似于,但不完全相同使用 Heroku 的分支策略进行良好的 Git 部署? https://stackoverflow.com/questions/1489393/good-git-deployment-using-branches-strategy-with-heroku