Heroku:从本地目录而不是GitHub存储库推送到Heroku

时间:2015-08-19 18:17:38

标签: git heroku github

我有一个应用程序,其代码位于github仓库中。我还有一个托管这个存储库的heroku实例。我可以通过提交和做

来推动它
git push heroku master

我想做的是以下内容:

  1. 提交本地更改
  2. 推送到heroku但不推送到存储库
  3. 所以基本上像

    git push heroku [from local directory instead of master]
    

    这可能吗?我是这种新事物,所以任何帮助都会受到赞赏。

3 个答案:

答案 0 :(得分:4)

始终在您可以通过

创建的本地分支中开展工作
git checkout -b localbranchname

然后通过命令

推送到你的heroku主人
git push heroku localbranch:master

此本地分支上的所有工作都将被推送到heroku的主分支,并且不会被提交到您的存储库。

您始终可以使用checkout命令在本地分支和主分支之间切换

git checkout branchname

当你这样做时

git push heroku localbranch:master 

这意味着您正在推送到Heroku的主分支机构和本地分支机构

答案 1 :(得分:3)

在部署之前,Heroku不需要在GitHub上推送到远程存储库。以下说明来自this full how-to

  

除了主人之外被推到Heroku的分支将被忽略   命令。

     

如果你在本地工作,你可以   要么在推送之前合并到主人,要么指定你想要的   将本地分支推送到远程主服务器。推动除了以外的分支   master,使用以下语法:$ git push heroku yourbranch:master

所以对于Zepplock来说,你根本不需要推送你的GitHub遥控器,只需要Heroku遥控器。

$ git remote -v 
origin  https://github.com/basho-labs/riak-mesos.git (fetch)
origin  https://github.com/basho-labs/riak-mesos.git (push)
heroku  https://git.heroku.com/riak-mesos.git (fetch)
heroku  https://git.heroku.com/riak-mesos.git (push)
$ git push heroku master

^如果您的遥控器设置如上所述,您可以将master本地副本推送到Heroku,而不是origin主服务器。或者,您可以选择其他分支:

$ git checkout -b not-master-branch
$ git push heroku not-master-branch:master

答案 2 :(得分:1)

执行before_filter :expire_links, only: [:create, :update, :destroy] 时,实际上是在推送本地代码/分支。

如果你想从git push heroku master之外的其他分支推送,你需要首先在本地签出该分支,然后再推送。