所以我理解heroku是一个git存储库,但是我想说我想使用github和一个存储库。如何设置它以便我有两个存储库并且两者都是同步的?
答案 0 :(得分:84)
你可以在git安装上安装多个遥控器。你会有一个github遥控器和一个heroku遥控器。
假设你已经有github设置,那么你可能会推送到github,例如:
git push origin master
origin
是您的遥控器,master
是您的分支。
按照getting started with Heroku中的说明选择所需的语言,然后继续学习本教程。本教程假设您已经安装了github,并将通过heroku
向您展示如何创建heroku create
遥控器。
然后按正常方式推送到github,并通过以下方式推送到heroku:
git push heroku master
适用相同的格式 - heroku
是您的遥控器,master
是您的分支。你没有在这里覆盖你的Github遥控器,你正在添加另一个,所以你仍然可以通过一个提交来完成两个工作,例如:
git add .
git commit -m "Going to push to Heroku and Git"
git push origin master -- push to Github Master branch
git push heroku master -- push to Heroku
答案 1 :(得分:34)
首先添加它们:
git remote add origin <github repo>
git remote add herkou git@heroku.com:<app name>.git
然后push
git push origin master
git push heroku master
编辑配置文件,以便origin
指向heroku和github:
git config -e
添加/替换:
[remote "origin"]
url = git@github.com:username/somerepo.git
url = ssh://git@bitbucket.org/username/somerepo.git
由于您正在使用github,您可以通过导航到:
与heroku集成https://dashboard.heroku.com/apps/<app name>/settings#github-repo
并添加您的存储库名称。
您需要使用像TravisCI这样的持续集成平台。
Here are the steps to make this work.小心你的产品,确保它在部署之前有效。每种方法都有其优点和缺点。
答案 2 :(得分:23)
我认为这实际上是推荐的案例; Heroku git存储库功能实际上是用于部署而不是代码管理。
只需像往常一样使用github来管理你的代码,但是当你准备好部署时,还要推送到Heroku git存储库。没有必要使它们与自动化工具等保持同步,因为您希望能够在不进行部署的情况下推送到github存储库,例如,以便您可以备份或协作处理未完成的功能或维护单独的暂存和生产环境
答案 3 :(得分:16)
我经常这样做。我为Heroku创建了一个站点,但我想将我的源代码保存在Github中以用于存档目的。我设置了遥控器:
git remote add origin <github repo>
和
git remote add heroku <heroku repo>
然后你可以git push origin master
然后git push heroku master
。 Heroku还允许您关联github仓库以查看提交差异。
答案 4 :(得分:12)
因为之前没有人提到过。 Git现在允许您为每个遥控器添加多个网址。就这样做:
这将从github添加fetch
和push
:
git remote add origin git@github.com:yourName/yourGithubRepo.git
这将使用github push
覆盖heroku push
:
git remote set-url origin --push --add git@heroku.com:yourHerokuRepo.git
这将重新添加github push
:
git remote set-url origin --push --add git@github.com:yourName/yourGithubRepo.git
这是最终输出:
$ git remote -v
origin git@github.com:yourName/yourGithubRepo.git (fetch)
origin git@heroku.com:yourHerokuRepo.git (push)
origin git@github.com:yourName/yourGithubRepo.git (push)
之后运行:
git push
如果,而不是工作,它说的是设置上游,那么首先输入:
git push --set-upstream origin master
答案 5 :(得分:2)
如果您不想管理两个存储库而只想管理Github上的一个存储库,请按照以下步骤操作(假设您已经创建了一个Heroku应用程序)。
1)首先,将Heroku存储库克隆到您的本地。
2)然后创建一个Github仓库并将其推送到那里。
3)完成后,使用wercker
4)转到&#34;添加应用程序&#34;并填写详细信息。它们相当简单。使用刚刚创建的Github存储库。
5)添加应用程序后,转到设置并添加部署目标。从列表中选择heroku。然后选择你想要推出的预告片和分支的Heroku应用程序。
那就是它!你完成了。现在,您的Github存储库与您的Heroku应用程序同步。 你使用
推送到Github仓库的任何东西git push origin master
将自动部署到您的Heroku应用程序中。这样你就可以在Github上管理你的存储库了,你只需要一个repo来处理。 :)