引き継いだプロジェクトが、foo_pc, foo_sp, foo_commonみたいなかんじでリポジトリが分かれていて、同じ機能の開発やっているのにそれぞれにPullReqだしたり、リリースノートを書いたりするのがしんどいので、統合した。以下に統合した時の手順をまとめておく。
まず、新しくリポジトリを用意して、以下のように統合したいリポジトリ毎にディレクトリを用意する
foo ├── foo_common ├── foo_pc └── foo_sp
次のようなスクリプトを実行する。git 2.9 から無関係なヒストリもってるブランチ同士をマージするときは --allow-unrelated-histories つけないとエラーになるのがハマりどころ。
for repo in foo_pc foo_sp foo_common_js; do git remote add ${repo} ~/${repo} git fetch ${repo} git merge -s ours --no-commit --allow-unrelated-histories ${repo}/master git read-tree --prefix=${repo} -u ${repo}/master git commit -am "Merge in ${repo}." done