Gitリポジトリの分割
履歴を保持したまま特定のフォルダを新しいリポジトリに分割する方法のメモ。
1. 分割したいプロジェクトをclone
git clone リポジトリURL
2. コマンドプロンプトを起動して、クローンしたプロジェクトのルートに移動する
3. 別リポジトリに分割したい対象フォルダがデフォルトのブランチに存在しない場合は、フォルダが存在するブランチにチェックアウトする
git checkout -b ローカルブランチ名 origin/リモートのブランチ名
4. 対象フォルダ以外のファイルと履歴を削除する
git filter-branch --prune-empty --subdirectory-filter 対象フォルダのパス
--prune-empty
: コメントのみの空commitを消去
5. リモートリポジトリを変更
git remote set-url origin 新しいリモートリポジトリのURL
6. リモートURLが変更されたことを確認
git remote -v
リモートリポジトリにプッシュする
git push -u origin "ブランチ名"