gitで指定したディレクトリ配下のファイルをマージの方法
指定されたディレクトリ内のファイルをマージするには、git のサブモジュール機能またはサブツリー機能を使用できます。
指定ディレクトリ下のファイルをサブモジュールを使ってマージする手順は以下のとおりです。
- クローン元プロジェクトのリポジトリ:
- git clone <親プロジェクトリポジトリのアドレス>
- メインプロジェクトディレクトリへ移動します:
- <メインプロジェクトディレクトリ> に cd
- サブモジュールの追加
- git submodule add <サブモジュールURL> <サブモジュールディレクトリ>
- サブモジュールディレクトリへ移動:
- cd <サブディレクトリ名>
- マージ先のブランチに切り替える:
- git checkout <マージしたいブランチ名>
- 指定されたディレクトリにあるファイルをマージします。
- git checkout <メインブランチ> <指定ディレクトリ>
- ホームプロジェクトディレクトリに戻り、マージした変更を送信する:
- cd ..
git add .
git commit -m “指定したディレクトリ配下のファイルをマージ”
サブツリーマージを使用してディレクトリのファイルを指定する手順は次のとおりです。
- 親プロジェクトのリポジトリを複製します:
- git clone <親プロジェクトリポジトリの URL>
- メインプロジェクトディレクトリに入る:
- cd < メインプロジェクトディレクトリ>
- 部分木の追加:
- git remote add <サブプロジェクト名> <サブプロジェクトのレポジトリURL>
git fetch <サブプロジェクト名>
git read-tree –prefix=<サブプロジェクトディレクトリ> -u <サブプロジェクト名>/<サブプロジェクトブランチ>
git commit -m “サブツリーの追加” - サブツリーディレクトリに切り替える:
- cd <サブプロジェクトディレクトリ>
- 指定のディレクトリ内のファイルをマージする:
- git checkout <メインプロジェクトブランチ> <指定ディレクトリ>
- 主プロジェクトのディレクトリに戻り、マージした変更をコミットします:
- cd ..
git add .
git commit -m “一部指定のディレクトリにあるファイルをマージ”
サブモジュールまたはサブツリーを使う際には結合する前に適切なブランチに切り替えることに注意します。