Git リポジトリの統合
目的
別々に 2つの Git リポジトリがある。この2つを統合して一つのリポジトリにしたい。これらは元々同一のソースコードを管理しているものなのだが、リポジトリとして作成された時期が異なり、別々に存在していた。
経緯
ソースコードの運用者が変わったことで、一時的に VCS を利用していない期間があった。
- Subversion で管理していた期間 (前々任者)
- VCS を何も使用していない期間 (前任者)
- Git で管理している期間 (現在)
我々が Git を使い始めたときには、古い Subversion のリポジトリは手に入らなかったため、最新のソースを元に新規のリポジトリとして管理を開始した。後に Subversion リポジトリが Git 形式に変換された形で手に入ったため、2つのリポジトリを統合しようということになった。
手順
http://d.hatena.ne.jp/gnarl/20091109/1257778688
のコメント欄に書いてあることを参考にしてみた。
古いリポジトリ: repo.old
新しいリポジトリ: repo.new
cd repo.old git fetch ../repo.new refs/heads/master:refs/heads/new-branch git checkout new-branch git rebase master (コンフリクトが発生したら都度対応, git add, git rebase --continue) git checkout master git merge new-branch git branch -d new-branch