だから、私はherokuがgitリポジトリとして機能することを理解していますが、githubとリポジトリを使用したいとしましょう。 2つのリポジトリがあり、両方が同期するように設定するにはどうすればよいですか?
Gitインストールで複数のリモートを使用できます。 githubリモートとherokuリモートがあります。
すでにgithubがセットアップされていると仮定すると、おそらく次のようなものでgithubにプッシュします:
git Push Origin master
Origin
はリモート、master
はブランチです。
Herokuの概要 の指示に従って、希望する言語を選択し、チュートリアルを続けます。このチュートリアルでは、すでにgithubがセットアップされていることを想定しており、heroku create
経由でheroku
リモートを作成する方法を示します。
次に、通常どおりgithubにプッシュし、次の方法でherokuにプッシュします。
git Push heroku master
同じフォーマットが適用されます-heroku
はリモートで、master
はブランチです。ここでGithubリモートを上書きするのではなく、別のGithubを追加するので、次のようなワークフローで1つのコミットを介して両方のプッシュを実行できます。
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
最初に追加します:
git remote add Origin <github repo>
git remote add heroku [email protected]:<app name>.git
次にPush
git Push Origin master
git Push heroku master
Origin
がherokuとgithubの両方を指すように構成ファイルを編集します。
git config -e
追加/置換:
[remote "Origin"]
url = [email protected]:username/somerepo.git
url = ssh://[email protected]/username/somerepo.git
Githubを使用しているため、次の場所に移動してherokuと統合できます。
https://dashboard.heroku.com/apps/<app name>/settings#github-repo
リポジトリの名前を追加します。
TravisCI のような継続的統合プラットフォームを使用する必要があります。
この作業を行う手順は次のとおりです。 本番環境にプッシュするものに注意し、デプロイする前に機能することを確認してください。各メソッドには長所と短所があります。
これは実際に推奨されるケースだと思います。 Herokuのgitリポジトリ機能は、コード管理ではなく、実際にデプロイ用です。
通常どおりgithubを使用してコードを管理しますが、デプロイの準備ができたらさらにHeroku gitリポジトリにプッシュします。自動ツールなどと同期させる必要はありません。たとえば、未完成の機能をバックアップまたはコラボレーションしたり、別個のステージング環境と実稼働環境を維持できるように、デプロイせずにgithubリポジトリにプッシュできるようにするためです。 。
私はこれをかなり頻繁に行います。 Heroku用のサイトを作成しましたが、アーカイブの目的でGithubにソースを保持したいです。リモートにセットアップします。
git remote add Origin <github repo>
そして
git remote add heroku <heroku repo>
次に、git Push Origin master
その後 git Push heroku master
。 Herokuでは、コミットの差分を確認する目的でgithubリポジトリを関連付けることもできます。
前に誰も言及しなかったので。 Gitでは、各リモートに複数のURLを追加できるようになりました。このようにしてください:
これはgithubからfetch
とPush
を追加します:
git remote add Origin [email protected]:yourName/yourGithubRepo.git
これはgithub Push
をheroku Push
でオーバーライドします:
git remote set-url Origin --Push --add [email protected]:yourHerokuRepo.git
これはgithub Push
を再追加します:
git remote set-url Origin --Push --add [email protected]:yourName/yourGithubRepo.git
それが最終的な出力です。
$ git remote -v
Origin [email protected]:yourName/yourGithubRepo.git (fetch)
Origin [email protected]:yourHerokuRepo.git (Push)
Origin [email protected]:yourName/yourGithubRepo.git (Push)
その後、実行するだけです:
git Push
動作する代わりに、アップストリームの設定についてsthと言っている場合は、最初に次のように入力します。
git Push --set-upstream Origin master
2つのリポジトリを管理するのではなく、Githubのリポジトリだけを管理する場合は、次のようにします(既にHerokuアプリを作成済みであると仮定)。
1)まず、Herokuリポジトリをローカルにクローンします。
2)次に、Githubリポジトリを作成し、このローカルをそこにプッシュします。
3)完了したら、 wercker を使用します
4)[アプリケーションの追加]に移動して、詳細を入力します。それらはかなり単純です。作成したGithubリポジトリを使用します。
5)アプリケーションgoto設定を追加した後、Deploy Targetを追加します。リストからherokuを選択します。次に、作成したEarilerアプリとプッシュするブランチを選択します。
それでおしまい!できました。これで、GithubリポジトリがHerokuアプリケーションと同期しました。使用してGithubリポジトリにプッシュするもの
git Push Origin master
herokuアプリケーションに自動的にデプロイされます。このようにして、Githubに管理するリポジトリがあり、対処するリポジトリは1つだけです。 :)