やりたいこと
各々gitで管理していた配下のフォルダをまとめて、GitHubで1つのリポジトリとして見たい。
※以下、ご自分のユーザー名、リポジトリで読み替えて下さい
フォルダ構成
git-tutorial-3
├tutorial1
├tutorial2
:
└tutorial7
GitHubへPUSH
各サブフォルダそれぞれ個別にgitで管理している。
親フォルダでGitHubへPUSHする。
$ cd git-tutorial-3
$ git init
$ git add .
$ git commit -m "Initial commit"
$ git remote add origin https://github.com/kwgch/git-tutorial-3.git
$ git push -u origin master
するとサブフォルダ(tutorial1~7)のフォルダ名は表示されるが、中身は見えない。
サブツリーマージ
そこで下記コマンドをtutorial1~7に対して実行する。
$ git remote add tutorial1 ./tutorial1
$ git fetch tutorial1
$ git read-tree --prefix=tutorial1/ tutorial1/master
COMMIT、PUSHする。
$ git add .
$ git commit -m "Merge subtree"
$ git push
Githubで各サブフォルダの中身が確認できるようになる。
ただ、各サブフォルダの以前の履歴を見ることはできない(ローカルでは可能)。
サブフォルダでの作業
$ cd tutorial5
$ vim sample.txt
$ cd ..
$ git add .
$ git commit -m "Change tutorial5"
$ git push
サブフォルダのファイルを変更して親フォルダでPUSHすると、GitHub上で変更が確認できる。
参考
こちらのサンプルを利用させて頂きました。
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜
参考にしました。
サブツリーマージ
コメント