株式会社運動通信社でiOSエンジニアを務めております植田です。
現在、弊社では複数のGitホスティングサービスを利用している状況なのですが、
GitHubにまとめていきたく、他のGitホスティングサービスで管理しているリポジトリをGitHubに移行してみたので手順を残します。
移行の動機
- サービスによって複数のGitホスティングサービスを利用しているので統一したい!
- GitHub Actionsを使ってCI/CD環境を整えたい!
手順
移行前作業
- 移行計画を各エンジニアに周知する。
- 移行開始時に作業中のローカルブランチが無いよう注意。
- 移行元のリモートブランチを断捨離しておくと移行後のリポジトリがスッキリします。
移行作業
1. 移行元リポジトリのURLをコピー
2. GitHub上で Import repository
を選択
3. リポジトリ情報を記入のうえ、 Begin import
4. 移行元Gitへの閲覧権限を求められるので、アカウント情報を入力し、 submit
5. リポジトリのimport処理が行われます。
- ページ自体閉じても大丈夫です。
6. 終了メールを確認
- GitHubアカウントに登録したメールアドレスに通知が来ます。
- ブランチ数150件程度のリポジトリ移行で25分程度かかりました。
移行後作業
- 移行元で
clone
して作成していたローカルファイルを退避。 - GitHubに新規作成したリポジトリから
clone
を行う。 -
push
,pull request
等の動作確認を実施。
最後に
GitHubの Import repository
を初めて使いましたが、リモートブランチなどのデータを丸ごと移行できる神機能でした。
commit
、push
のログも移行してくれるので過去分のコントリビューションを緑地化してくれます。
機会は限られるとは思いますが、便利な機能なのでぜひ使ってみてください。