【Git】リポジトリのホスティング先を変更する
ホスティング先の機能やセキュリティ、チームのツールに合わせて、リポジトリを別のサービスやアカウントへ移行したい場面があります。
今回は、GitHubの特定のリポジトリを別のアカウントへ移動する作業を中心に解説します。あわせて、GitHub以外のサービス(GitLab、Bitbucketなど)へ移行する場合にも応用できる、汎用的な「リモート先の変更」という考え方も紹介します
ホスティング先を変更するイメージ
リポジトリのホスティング先を変更するとは、ローカルと同期するホスティング先を変更することを言います

ホスティング先(リモート先)
クラウド上のGitHubが有名です。「リモート」とは、自分のパソコン(ローカル)の外にある、インターネット上の保存先のことです。Gitでは、このリモート先を「origin」という名前で管理するのが一般的です
ローカル(ネットワークにつながっていない状態でもアクセスできる環境)
ローカルは開発用のパソコンになります
変更作業:GitHub Desktop(GUI)で実行する場合
GitHub Desktopでリポジトリのホスティング先を変更するには、以下の手順を行います。
新しいホスティング先での作業
新しいリモートリポジトリの作成
最初に、新しいホスティングサービス(GitHub、GitLab、Bitbucketなど)にアクセスし、新しいリポジトリを作成します。GitHub Desktop自体では新しいリポジトリを作成できないため、Webブラウザを使用してこれを行います。
事前に移行先のGitHubアカウントが取得されていることとします
クラウド上のGitHubにサインインし、下のように+のプルダウンメニューからNew repositoryで作成します

登録画面が出てきますので、必要な箇所を入力してCreate Repositoryで作成します

次のような画面になれば、空のリポジトリの完成です

GitHubDesktopでの作業
GitHubアカウントを移行先のアカウントに変更
GitHubDesktopのファイルメニューを開き、Options…を選択

アカウントを移行先のGitHubアカウントに変更します

GitHub Desktopで移行したい既存のリポジトリを選択する
GitHub Desktopを開き、変更したいローカルリポジトリを選択します。
リポジトリ設定項目でリモート先を変更
リポジトリメニューを開き、「リポジトリの設定」を選択します。
「リモート」タブをクリックします。

現在のリモートURLが表示されます。これを新しいリポジトリのURLに変更します。

新しいURLを入力したら、「保存」をクリックします。
変更をプッシュする
リポジトリに未コミットの変更がある場合はコミットしておきます
「パブリッシュ」ボタンをクリックして、変更を新しいリモートリポジトリにプッシュします。
以上で、GitHub Desktopを使ったホスティング先の変更は完了です。
変更作業:コマンドで実行する場合
ターミナルから操作する場合は、以下の2つのコマンドだけで完了します。
新しいホスティングサービスにリポジトリを作成する
まず、新しいホスティングサービス(GitHub、GitLab、Bitbucketなど)で空のリポジトリを作成します。
ローカルリポジトリでリモートURLを変更する
既存のリポジトリでリモートURLを新しいホスティングサービスのURLに変更します。これには以下のコマンドを使用します。
git remote set-url origin 新しいリポジトリのURL
ここで、「新しいリポジトリのURL」は、新しいホスティングサービスに作成したリポジトリのURLです
最新のコードを新しいリポジトリにプッシュする
git push -u origin master
ここで「master」は、プッシュしたいブランチの名前です。異なるブランチ名を使用している場合は、それに応じてコマンドを変更してください。
以上で完了です。移行後は、コミット履歴が引き継がれているか、CI/CDパイプラインなど外部システムの設定が新しいリポジトリURLに対応しているかを確認しておきましょう。
どちらの方法を選ぶべきか
操作に慣れていない方や、変更内容を画面で確認しながら進めたい方はGitHub Desktop(GUI)がおすすめです。普段からターミナル操作に慣れている方は、コマンドの方が手順がシンプルで早く終わります。どちらの方法でも、移行後は必ず新しいリポジトリへのプッシュが成功しているか、コミット履歴が引き継がれているかを確認しましょう




ディスカッション
コメント一覧
まだ、コメントがありません