既存のプロジェクトを再利用して新規プロジェクトの叩き台にする
色々とプロジェクトやアプリの破片を作ってはGitHubに保存してきたのですが、たまにそれに手を加えて新しいプロジェクトとして作り直したいなあという事がよくあり、クローンの手順を踏むのですが、よく手順を忘れるのでここに備忘ログ。Firebaseをよく使うので、Firebaseプロジェクトのクローン手順。
1、下準備
- ローカルに新しいプロジェクト用のディレクトリを作る
- Firebase上に新しいプロジェクトを作る
- GitHub上に新しいプロジェクト用のリポを作る
2、GitHubから既存のリポをローカルにクローンする
作っておいたローカルのディレクトリに移動し
cd path/to/your/directory
リポをクローンする
git clone https://github.com/username/repository-name.git
package.jsonのname/version/description などを新しいプロジェクト用に書き直す
3、Gitを設定し直す
元々のオリジン(つまりGitHubのオリジナルのリポ)とのリンクを外す
git remote remove origin
で、新しく作ったGitHubのリポにオリジンを再設定
git remote add origin https://github.com/yourusername/new-repository-name.git
mainブランチの設定
git branch -M main
で、新しいリポの新しいmainブランチにデータをプッシュ
git push -u origin main
これで新しいローカルのディレクトリにプロジェクトがクローンされ、GitHubの新しいリポと接続完了
*リポをクローンした場合、.gitファイルも引き継がれるので、gitヒストリーもそのまま使える。
4、ローカル側の初期設定
- モジュールをインストール
npm install
あと、既存プロジェクトをクローンして再度新しいリポにプッシュする場合、サイズが大きくてエラーが出るケースが多いので、その際はバッファーのサイズを上げると解決する。例えば、150MBにすると
git config --global http.postBuffer 157286400
5、Firebaseプロジェクトの場合、書き換えるべきファイル
.firebaserc File
firebase use
で紐づいているプロジェクトを確認して、新しいIDに直す
{
"projects": {
"default": "my-project-id"
}
}
.firestore.rules/storage.rules でパーミッション設定。
あと、.gitignoreでクローンされていない環境変数など。
6、でけた
先月作った、ランダムに質問を表示する語学学習用のクイズアプリのロジックを少し書き換えて、フラッシュカード(単語帳)のアプリを作ったよ。
早速、2人しかいない生徒どもに使わせようと思います。