LoginSignup
26

More than 5 years have passed since last update.

Gitで複数のリポジトリをまとめる

Last updated at Posted at 2014-07-31

やりたいこと

各々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入門 〜バージョン管理を使いこなそう〜

参考にしました。
サブツリーマージ

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
26