正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

チュートリアル: GitリモートURLを更新する

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitリモートリポジトリのURLを更新するのは、次のような場合です:

  • 別のGitリポジトリホストから既存のプロジェクトをインポートした場合。
  • 新しいドメイン名で、組織がプロジェクトを新しいGitLabインスタンスに移行した場合。
  • プロジェクトが同じGitLabインスタンス内の新しいパスに名前変更された場合。

古いリモートリポジトリからの既存のローカル実行コピーがない場合は、このチュートリアルは不要です。代わりに、新しいGitLabのURLからプロジェクトをクローンできます。

このチュートリアルでは、ローカルリポジトリのリモートURLを、次のことを行わずに更新する方法について説明します:

  • 未完了のローカルでの変更を失うことなく。
  • GitLabにまだ公開されていない変更を失うことなく。
  • 新しいURLからリポジトリの新しいクローン実行コピーを作成せずに。

このチュートリアルでは、git-remoteコマンドを使用してリモートおよび追跡されたリポジトリを管理します。

GitリモートURLを更新するには、以下を実行します:

はじめる前

以下が必要です:

  • Gitリポジトリと新しいGitLabのURLを持つGitLabプロジェクト。
  • 新しいGitLabのURLに移行するプロジェクトのクローン作成されたローカル実行コピー。
  • Gitがローカルマシンにインストールされていること。
  • ローカルマシンのコマンドラインインターフェース(CLI)へのアクセス。macOSでは、ターミナルを使用できます。Windowsでは、PowerShellを使用できます。Linuxユーザーはおそらく、システムのCLIをよくご存じでしょう。
  • GitLabの認証情報:
    • GitリモートURLを更新するには、GitLabで認証する必要があります。GitLabアカウントでユーザー名とパスワードによる基本的な認証を使用している場合は、2要素認証(2FA)を無効にして、CLIから認証を行う必要があります。または、SSHキーを使用してGitLabで認証することもできます。

既存および新規URLを特定

GitリモートURLを更新するには、リポジトリの既存および新しいURLを特定します:

  1. ターミナルまたはコマンドプロンプトを開きます。

  2. ローカルリポジトリの実行コピーに移動します。ディレクトリを変更するには、cdを使用します:

    cd <repository-name>
  3. 各リポジトリには、originというデフォルトのリモートがあります。現在のリモート_フェッチ_および_プッシュ_ URLをリモートリポジトリで表示するには、以下を実行します:

    git remote -v
  4. 返されたURLをコピーしてメモしておきます。通常、これらは同一です。

  5. 新しいURLを取得します:

    1. GitLabに移動します。
    2. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
    3. 左側のサイドバーで、コード > リポジトリを選択して、プロジェクトのリポジトリページに移動します。
    4. 右上隅でコードを選択します。
    5. gitでの認証とクローン作成に使用する方法に応じて、HTTPSまたはSSH URLのいずれかをコピーします。不明な場合は、前の手順のorigin URLと同じ方法を使用します。
    6. コピーしたURLをメモしておきます。

GitリモートURLを更新する

GitリモートURLを更新するには:

  1. ターミナルまたはコマンドプロンプトを開きます。

  2. ローカルリポジトリの実行コピーに移動します。ディレクトリを変更するには、cdを使用します:

    cd <repository-name>
  3. リモートURLを更新し、<new_url>をコピーした新しいリポジトリURLに置き換えます:

    git remote set-url origin <new_url>
  4. リモートURLの更新が成功したことを確認します。次のコマンドは、フェッチとプッシュの両方の操作に対して新しいURLを表示し、ローカルブランチをリストし、GitLabに追跡されていることを確認します:

    git remote show origin
    • 更新が失敗した場合は、前の手順に戻り、正しい<new_url>があることを確認して、もう一度試してください。

複数のリポジトリのリモートURLを更新するには:

  1. git remote set-urlコマンドを使用します。originを、更新するリモートの名前に置き換えます。例:

    git remote set-url <remote_name> <new_url>
  2. 各リモートURLの更新を確認します:

    git remote show <remote_name>

リモートURLを更新した後、通常どおりGitコマンドを引き続き使用できます。次のgit fetchgit pull、またはgit pushはGitLabからの新しいURLを使用します。

おめでとうございます。リポジトリのリモートURLが正常に更新されました。

(オプション)元のリモートURLを保持

プロジェクトには、複数のリモートの場所がある場合があります。たとえば、GitHubでホストされているプロジェクトからフォークしたリポジトリがあり、GitHubにプルリクエストを行う前にGitLabで自分のフォークで作業したいとします。

元のリモートURLを更新に加えて保持し、新旧両方のリモートURLを維持するには、既存のリモートを変更する代わりに、新しいリモートを追加できます。

このアプローチを使用すると、元のリポジトリへのアクセスを維持しながら、新しいURLに段階的に移行できます。

新しいリモートURLを追加するには:

  1. ターミナルまたはコマンドプロンプトを開きます。

  2. ローカルリポジトリの実行コピーに移動します。

  3. 新しいリモートURLを追加します。<new_remote_name>を新しいリモートの名前に置き換えます(たとえば、new-origin)、<new_url>を新しいリポジトリURLに置き換えます:

    git remote add <new_remote_name> <new_url>
  4. 新しいリモートが追加されたことを確認します:

    git remote -v

これで、元のリモートと新しいリモートの両方を使用できます。例:

  • 元のリモートにプッシュするには:git push origin main
  • 新しいリモートにプッシュするには:git push <new_remote_name> main