これは何
FrontendとBackendをモノレポで管理していて、途中で、FrontendとBackendで分けたくなった場合の方法の備忘録
やり方
- 対象となるリポジトリをcloneしてくる
git clone https://github.com/username/app-name.git
- server / client と2つのリポジトリに分かれてることを確認
git filter-branch --subdirectory-filter 対象のサブディレクトリ(ここでは client ) HEAD
- 注意すべきこととして、git
fileter-branch
コマンドは、ルートディレクトリで行うこと
- 注意すべきこととして、git
- 新しくGitHub上に要した場所にpush
- 完了
git filter-branch
コマンドとは何者?
Gitのリポジトリ履歴を再書き込みするための強力なツール。
主な目的は、履歴の内容をフィルタリングしたり、部分的に切り出したりして、リポジトリの歴史を変更すること。
これを使うことで、過去のコミットを修正、削除、統合、リネーム、特定のディレクトリやファイルのみを含む新しいリポジトリを作成することができる
-
subdirectory-filter <directory>
指定したディレクトリ以下のファイルやディレクトリのみを抽出して、それ以外の履歴を削除する。
サブディレクトリをアタらいいリポジトリとして分離するのによく用いる