K L*_*K L 60 git github heroku
所以我理解heroku是一个git存储库,但是我想说我想使用github和一个存储库.如何设置它以便我有两个存储库并且两者都是同步的?
Dan*_*rst 89
你可以在git安装上有多个遥控器.你会有一个github遥控器和一个heroku遥控器.
假设你已经有github设置,那么你可能会推送到github,例如:
git push origin master
origin是你的遥控器,master是你的分支.
按照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
Run Code Online (Sandbox Code Playgroud)
0xc*_*aff 34
首先添加它们:
git remote add origin <github repo>
git remote add heroku git@heroku.com:<app name>.git
Run Code Online (Sandbox Code Playgroud)
然后 push
git push origin master
git push heroku master
Run Code Online (Sandbox Code Playgroud)
编辑配置文件,以便origin指向heroku和github:
git config -e
Run Code Online (Sandbox Code Playgroud)
添加/替换:
[remote "origin"]
url = git@github.com:username/somerepo.git
url = ssh://git@bitbucket.org/username/somerepo.git
Run Code Online (Sandbox Code Playgroud)
由于您正在使用github,您可以通过导航到以下内容与heroku集成:
https://dashboard.heroku.com/apps/<app name>/settings#github-repo
Run Code Online (Sandbox Code Playgroud)
并添加您的存储库名称.

您将需要使用像TravisCI这样的持续集成平台.
以下是使这项工作的步骤.你要小心推动生产,确保它在部署之前有效.每种方法都有其优点和缺点.
And*_*ter 23
我认为这实际上是推荐的案例; Heroku git存储库功能实际上是用于部署而不是代码管理.
只需像往常一样使用github来管理你的代码,但是当你准备好部署时,还要推送到Heroku git存储库.没有必要使它们与自动化工具等保持同步,因为您希望能够在不进行部署的情况下推送到github存储库,例如,以便您可以备份或协作处理未完成的功能或维护单独的暂存和生产环境.
Ric*_*own 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仓库以查看提交差异.
mee*_*ian 12
因为之前没有人提到过.Git现在允许您为每个遥控器添加多个网址.就这样做:
这将添加fetch和push从github:
git remote add origin git@github.com:yourName/yourGithubRepo.git
Run Code Online (Sandbox Code Playgroud)
这将覆盖github push有heroku push:
git remote set-url origin --push --add git@heroku.com:yourHerokuRepo.git
Run Code Online (Sandbox Code Playgroud)
这将重新添加github push:
git remote set-url origin --push --add git@github.com:yourName/yourGithubRepo.git
Run Code Online (Sandbox Code Playgroud)
这是最终输出:
$ 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)
Run Code Online (Sandbox Code Playgroud)
之后运行:
git push
Run Code Online (Sandbox Code Playgroud)
如果,而不是工作,它说的是关于设置上游,然后首先输入:
git push --set-upstream origin master
Run Code Online (Sandbox Code Playgroud)