やりたいこと
- 別々のリポジトリを、1つのリポジトリにまとめたい
- 取りこむリポジトリは、ベースとなるリポジトリのサブフォルダに展開したい
- コミットログ付きで引き込みたい
※イメージ
repos_base
┣repos_base_XXX
┣repos_base_YYY
┗repos2
┣repos2_XXX
┗repos2_YYY
前提条件
- カレントディレクトリがベースとなるリポジトリのディレクトリになっている
コマンド
REM 別リポジトリを、追加したいリポジトリのリモートとして登録
git remote add [追加したいリポジトリの名称] [追加したいリポジトリのURL]
REM 別リポジトリでの情報を取得
git fetch [追加したいリポジトリの名称]
REM 別リポジトリをサブディレクトリとして取り込み、作業ディレクトリにファイルを引き込む
REM リポジトリを追加したいフォルダは、XXX/repos2 のように表記することも可能
git read-tree --prefix=[リポジトリを追加したいフォルダ階層] -u [追加したいリポジトリの名称]/[追加したいリポジトリのブランチ]
REM ファイル引き込みで発生した変更をコミット
git commit -a -m "[コミットコメント]"
REM 別リポジトリのコミット履歴などを、追加したいリポジトリにマージする
git subtree merge --prefix=[リポジトリを追加したいフォルダ階層] [追加したいリポジトリの名称]/[追加したいリポジトリのブランチ]
REM 必要に応じて別リポジトリのリモート登録を削除
REM git remote rm [追加したいリポジトリの名称]