BitbucketからGitHubにリポジトリを移管
Posted: | Tags: Git
BitbucketからGitHubにリポジトリを移管する方法を紹介する。コミット履歴もそのまま移行できる。
Bitbucketでアプリパスワードを生成(プライベートリポジトリの場合)
Bitbucketのプレイベートリポジトリを移管する場合、アプリパスワードを生成する必要がある。パブリックリポジトリの場合はこの手順は不要なので飛ばしてよい。
Bitbucketにログインした状態で、アプリパスワードを生成するページにアクセス。
- https://bitbucket.org/account/settings/app-passwords/
- または、右上の歯車マーク →
Personal Bitbucket settings
→ 左サイドバーのアプリ パスワード
アプリ パスワードの作成
をクリックすると、以下のようなページが表示される(2025/05/17時点)。
以下の手順でアプリパスワードを生成する。
詳細
のLabel
に適当な名前を入力- 便宜的に区別するためのものなので、任意の名前でよい
権限
のリポジトリ
の読み取り
にチェック作成
ボタンをクリック- アプリパスワードが表示される
- 表示ウィンドウを閉じると再表示できないので注意
アプリパスワードは移管が終わったら削除して問題ない。
GitHubでリポジトリをインポート
GitHubにログインした状態で、リポジトリをインポートするページにアクセス。
- https://github.com/new/import
- または、右上の
+
マーク →Import repository
以下のようなページが表示される(2025/05/17時点)。
以下の手順でリポジトリをインポートする。
- 情報を入力
Your source repository details
The URL for your source repository
- 移管元のリポジトリのURL
https://bitbucket.org/ユーザー名/リポジトリ名
- 移管元のリポジトリのURL
- 重要: 移管元がプライベートリポジトリの場合は以下の欄も入力(パブリックリポジトリの場合は空欄でOK)
Your username for your source repository
- Bitbucketのユーザー名
Your access token or password for your source repository
- 上で作成したBitbucketのアプリパスワード
Your new repository details
Repository name
- GitHubで新しく作成するリポジトリの名前
Public
かPrivate
かをチェックボックスで選択- 重要: デフォルトは
Public
にチェックされているのでプレイベートにしたい場合は要注意
- 重要: デフォルトは
Begin import
ボタンをクリック
インポートが完了したらメールで通知される。ブラウザの画面は閉じても問題ない。小規模なリポジトリでも数分かかったため、大規模な場合はさらに時間がかかるかもしれない。
ローカルリポジトリのリモートURLを変更
ローカルに該当のリポジトリがある場合は、リモートURLをBitbucketからGitHubに変更する。
以下、リモート名がorigin
のURLを変更する例を紹介する。
例はSSH URL(git@github.com:USER/REPOSITORY.git
)だが、HTTPS URL(https://github.com/USER/REPOSITORY.git
)も指定可能。USER
とREPOSITORY
はユーザー名とリポジトリ名。
git remote -v
で現在のリモートURLを確認する。
$ git remote -v
origin git@bitbucket.org:USER/REPOSITORY.git (fetch)
origin git@bitbucket.org:USER/REPOSITORY.git (push)
git remote set-url
で新しいURLを設定する。
$ git remote set-url origin git@github.com:USER/REPOSITORY.git
git remote -v
で変更が反映されていることを確認する。
$ git remote -v
origin git@github.com:USER/REPOSITORY.git (fetch)
origin git@github.com:USER/REPOSITORY.git (push)