Dragon Arrow written by Tatsuya Nakaji, all rights reserved animated-dragon-image-0164

Herokuにあげてるアプリをクローンしたい

Jun 15, 2019

Heroku にある既存のアプリを git clone する


Heroku で既存アプリを扱う

$ heroku create をしてその流れの中でアプリを扱う説明はよく見かけるのですが、すでに存在しているアプリをまっさらな環境にもってくる場合はあまり見かけなかったので書いておきます。なお、 Heroku Toolbelt の準備はできているものとします。


heroku apps でアプリ一覧の情報を得る

$ heroku apps で現在存在するアプリの一覧が得られます。

$ heroku apps
=== your@mail.address Apps
foo-bar-12345
hoge-fuga-98765
foobar-hogefuga-54321


heroku git:clone --app アプリ名 をすると「アプリ名」のファイルがダウンロードできる

前項の結果によりアプリ名が分かれば、$ heroku git:clone --app アプリ名 としてアプリ名を指定することでいわゆる git clone ができます。

$ heroku git:clone --app foobar-hogefuga-54321
Cloning into 'foobar-hogefuga-54321'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.


heroku git:clone したファイル群には Heroku と連携する情報が組み込み済み

前項で clone したリポジトリは Heroku と結びついた設定が組み込み済みです。具体的には .git/config に以下のような設定がすでに書き込まれています。

[remote "heroku"]
    url = https://git.heroku.com/foobar-hogefuga-54321.git
    fetch = +refs/heads/*:refs/remotes/heroku/*
[branch "master"]
    remote = heroku
    merge = refs/heads/master

したがって、$ git push heroku master のように実行すれば Heroku に すぐさまPush できることになります。


補足

heroku apps:info アプリ名 でアプリの詳細情報を得る

アプリ名が分かれば、$ heroku apps:info アプリ名 を実行すると指定したアプリの詳細情報が得られます。

$ heroku apps:info hoge-fuga-98765
=== hoge-fuga-98765
Auto Cert Mgmt: false
Dynos:
Git URL:        https://git.heroku.com/hoge-fuga-98765.git
Owner:          your@mail.address
Region:         us
Repo Size:      0 B
Slug Size:      0 B
Stack:          heroku-16
Web URL:        https://hoge-fuga-98765.herokuapp.com/