git で複数のレポジトリを統合する単純な方法2017年06月23日 12時18分25秒

git で複数のレポジトリを統合するのには、fetch と merge が一番単純かつ、綺麗に出来る。これが単純で済む場合の条件は同じパスが存在しないこと。

repo1 に repo2 を取り込む例。

% cd path/to/repo1
% git remote add repo2 path/to/repo2
% git fetch repo2
% git merge repo2/master
# もしうまくいかなかったら
% git merge --allow-unrelated-histories repo2/master
% git remote remove repo2
--allow-unrelated-histories は元が異なるレポジトリを統合する場合に使う。統合しようとしている二つのレポジトリが全く異なる場合はこれが必要になる。

他にも、どの様に他のレポジトリとの関係を保かによって幾つかの方法があるようだ。この用法は特に、repo2 の全てを移してから消す場合に適している。

次回