69

つまり、herokuがgitリポジトリとして機能することは理解していますが、リポジトリだけでなくgithubも使用したいとします。2つのリポジトリがあり、両方が同期するように設定するにはどうすればよいですか?

4

6 に答える 6

99

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リモートを上書きするのではなく、別のリモートを追加するので、次のようなワークフローで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
于 2013-03-05T19:05:27.990 に答える
37

複数のリモートにプッシュおよびプルできるようにする場合:

最初にそれらを追加します:

git remote add origin <github repo>
git remote add heroku 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

リポジトリの名前を追加します。

github統合

GitHubにコミットした後、自動的にherokuにプッシュする場合:

TravisCIのような継続的インテグレーションプラットフォームを使用する必要があります。

これを機能させるための手順は次のとおりです。本番環境にプッシュするものに注意し、デプロイする前に機能することを確認してください。それぞれの方法には長所と短所があります。

于 2014-04-02T21:38:39.450 に答える
23

これは実際に推奨されるケースだと思います。Heroku gitリポジトリ関数は、実際にはデプロイ用であり、コード管理用ではありません。

githubを使用して通常どおりコードを管理しますが、デプロイする準備ができたら、さらにHerokugitリポジトリにプッシュします。自動化されたツールなどと同期させる必要はありません。たとえば、デプロイせずにgithubリポジトリにプッシュできるようにして、未完成の機能をバックアップまたはコラボレーションしたり、個別のステージング環境と本番環境を維持したりできるようにする必要があるためです。 。

于 2013-03-05T19:04:29.443 に答える
17

私はこれをかなり頻繁に行います。Herokuのサイトを作成しましたが、アーカイブの目的でソースをGithubに保持したいと思います。リモコンを設定しました:

git remote add origin <github repo>

git remote add heroku <heroku repo>

その後、あなたはちょうどそしてそれからすることができgit push origin masterますgit push heroku master。Herokuでは、コミット差分を確認する目的でgithubリポジトリを関連付けることもできます。

于 2013-03-05T19:07:27.893 に答える
12

誰も前にそれについて言及しなかったので。Gitでは、各リモートに複数のURLを追加できるようになりました。このようにしてください:

これにより、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

動作する代わりに、アップストリームの設定についてsthと言っている場合は、最初に次のように入力します。

git push --set-upstream origin master 
于 2014-05-17T14:08:23.587 に答える
2

2つのリポジトリと1つだけをGithubで管理したくない場合は、次の方法で管理できます(Herokuアプリを既に作成していると仮定します)。

1)まず、Herokuリポジトリをローカルに複製します。

2)次に、Githubリポジトリを作成し、このローカルをそこにプッシュします。

3)それが終わったら、werckerを使用します

4)「アプリケーションの追加」に移動し、詳細を入力します。それらはかなり単純です。作成したGithubリポジトリを使用します。

5)アプリケーションを追加した後、設定に移動し、デプロイターゲットを追加します。リストからherokuを選択します。次に、作成したHerokuアプリと、プッシュするブランチを選択します。

それでおしまい!完了です。これで、GithubリポジトリがHerokuアプリケーションと同期されます。を使用してGithubリポジトリにプッシュするもの

git push origin master

Herokuアプリケーションに自動的にデプロイされます。このようにして、Githubにリポジトリを管理し、処理するリポジトリは1つだけになります。:)

于 2014-06-05T19:49:58.397 に答える