BitbucketからGitHubにリポジトリを移管

Posted: | Tags: Git

BitbucketからGitHubにリポジトリを移管する方法を紹介する。コミット履歴もそのまま移行できる。

Bitbucketでアプリパスワードを生成(プライベートリポジトリの場合)

Bitbucketのプレイベートリポジトリを移管する場合、アプリパスワードを生成する必要がある。パブリックリポジトリの場合はこの手順は不要なので飛ばしてよい。

Bitbucketにログインした状態で、アプリパスワードを生成するページにアクセス。

アプリ パスワードの作成をクリックすると、以下のようなページが表示される(2025/05/17時点)。

Bitbucket: アプリパスワード生成ページ

以下の手順でアプリパスワードを生成する。

  1. 詳細Labelに適当な名前を入力
    • 便宜的に区別するためのものなので、任意の名前でよい
  2. 権限リポジトリ読み取りにチェック
  3. 作成ボタンをクリック
  4. アプリパスワードが表示される
    • 表示ウィンドウを閉じると再表示できないので注意

アプリパスワードは移管が終わったら削除して問題ない。

GitHubでリポジトリをインポート

GitHubにログインした状態で、リポジトリをインポートするページにアクセス。

以下のようなページが表示される(2025/05/17時点)。

GitHub: リポジトリインポートページ

以下の手順でリポジトリをインポートする。

  1. 情報を入力
    • Your source repository details
      • The URL for your source repository
        • 移管元のリポジトリのURL
          • https://bitbucket.org/ユーザー名/リポジトリ名
      • 重要: 移管元がプライベートリポジトリの場合は以下の欄も入力(パブリックリポジトリの場合は空欄で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で新しく作成するリポジトリの名前
      • PublicPrivateかをチェックボックスで選択
        • 重要: デフォルトはPublicにチェックされているのでプレイベートにしたい場合は要注意
  2. Begin importボタンをクリック

インポートが完了したらメールで通知される。ブラウザの画面は閉じても問題ない。小規模なリポジトリでも数分かかったため、大規模な場合はさらに時間がかかるかもしれない。

ローカルリポジトリのリモートURLを変更

ローカルに該当のリポジトリがある場合は、リモートURLをBitbucketからGitHubに変更する。

以下、リモート名がoriginのURLを変更する例を紹介する。

例はSSH URL(git@github.com:USER/REPOSITORY.git)だが、HTTPS URL(https://github.com/USER/REPOSITORY.git)も指定可能。USERREPOSITORYはユーザー名とリポジトリ名。

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)

関連カテゴリー

関連記事