9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

別のリポジトリをサブディレクトリに取り込む

Last updated at Posted at 2019-09-19

やりたいこと

  • 別々のリポジトリを、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 [追加したいリポジトリの名称]

参考情報

Git-のさまざまなツール-サブツリーマージ

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?