概要
プロジェクト作ってからリポジトリ名やばくね?変えたくね?ってなって、意外と簡単に変更できそうなのでその作業メモ
(Githubのリポジトリ名と、ローカルのプロジェクト名を変更する)
(Herokuにデプロイしている場合、削除してから再登録の流れになる)
作業
GitHub側の操作
GitHubの対象リポジトリ > Setting > 変更後の名称を入力 > Renameで変更

ローカル側の操作
プロジェクト名をhoge-github
→ Hoge-GitHub
にする場合
.git/config
# url の名称部分を変えるだけ
# [remote "origin"]
# url = https://github.com/usermay/hoge-github.git
# fetch = +refs/heads/*:refs/remotes/origin/*
[remote "origin"]
url = https://github.com/usermay/Hoge-GitHub.git
fetch = +refs/heads/*:refs/remotes/origin/*
gem使う
gemインストール
echo -e "gem 'rename'" >> Gemfile
bundle
リネーム実行
# NewName部分を変更後の名称に適宜書換え
bundle exec rails g rename:app_to NewName
direnvを設定してる場合は
direnv allow
config/application.rb
の内容(プロジェクト名)が自動で置き換わる。
# rename のgemはGemfileから消して再bundleしとく
bundle
app/helpers/application_helper.rb
とかにTITLE設定してたら変更しとく
デプロイ済みの場合
- 削除 → 再登録 → DB作成 (→ 環境変数設定)
Heroku側の操作
herokuにデプロイ済みのものを削除
# 確認
heroku apps:info
# 削除
heroku apps:destroy --app アプリ名 --confirm アプリ名
.git/config
から
[remote "heroku"]
の設定が消える
gitの管理情報も全部消えます。
再登録
herokuに再度アプリ作成
heroku login
heroku create アプリ名
# アプリ名はheroku全体でユニークでないとダメらしい。
# ありがちな名前だと「Name is already taken」とか言われて作成できないので名前に注意
heroku config
# エラーが出なければおkかな
git remote
# 「heroku」が表示されればおk
デプロイしてリポジトリに登録
# heroku にデプロイ
git push heroku master
確認
# ウェブアプリをブラウザで開く
heroku open
DBデータを作成する
DBのマイグレーション
heroku run rake db:migrate
タイムゾーンを日本時間に変更
heroku config:add TZ=Asia/Tokyo
環境変数
の設定は適宜おまかせ
アプリを開いて再度確認
heroku open
意図した通りに動けば作業完了だ
参考
GitHubのリポジトリ名変更方法
Railsのプロジェクト名と、GitHubのリポジトリ名を変更する - TechBox
[Rails 4.1] プロジェクト名の変更
【herokuコマンド】createからdestroyまで