リモートの URL の変更
「git remote set-url」コマンドにより、既存のリモートリポジトリ URL を変更できます。
参考: HTTPS と SSH URL との違いについては、「どのリモート URL を使うべきか?」を参照してください。
git remote set-url
コマンドは 2 つの引数を取ります:
- 既存のリモート名。
origin
やupstream
がよく使われます。 -
リモートの新しい URL。 例:
- HTTPS を使うよう更新する場合、URL は以下のようになります:
https://[hostname]/USERNAME/REPOSITORY.git
* SSH を使うよう更新する場合、URL は以下のようになります:
git@hostname:USERNAME/REPOSITORY.git
リモート URL の SSH から HTTPS への切り替え
-
ターミナルターミナルGit Bashターミナル を開いてください。
-
ワーキングディレクトリをローカルプロジェクトに変更します。
-
変更したいリモートの名前を取得するため、既存のリモート一覧を表示します。
$ git remote -v
> origin git@hostname:USERNAME/REPOSITORY.git (fetch)
> origin git@hostname:USERNAME/REPOSITORY.git (push)
-
git remote set-url
コマンドでリモートの URL を SSH から HTTPS に変更します。$ git remote set-url origin https://hostname/USERNAME/REPOSITORY.git
-
リモート URL が変更されたことを検証します。
$ git remote -v # Verify new remote URL > origin https://hostname/USERNAME/REPOSITORY.git (fetch) > origin https://hostname/USERNAME/REPOSITORY.git (push)
この後、リモートリポジトリに対して git fetch
、git pull
、または git push
を実行すると、GitHub のユーザ名とパスワードの入力を求められます。
- 2 要素認証 を有効にしている場合、GitHub パスワードの代わりに 個人用アクセストークンを作成 する必要があります。
- Git が GitHub と通信するたびに GitHub のユーザ名とパスワードを記憶するように、認証情報ヘルパーを使用する ことができます。
リモート URL を HTTPS から SSH に切り替える
-
ターミナルターミナルGit Bashターミナル を開いてください。
-
ワーキングディレクトリをローカルプロジェクトに変更します。
-
変更したいリモートの名前を取得するため、既存のリモート一覧を表示します。
$ git remote -v > origin https://hostname/USERNAME/REPOSITORY.git (fetch) > origin https://hostname/USERNAME/REPOSITORY.git (push)
-
git remote set-url
コマンドでリモートの URL を HTTPSから SSH に変更します。$ git remote set-url origin git@hostname:USERNAME/REPOSITORY.git
-
リモート URL が変更されたことを検証します。
$ git remote -v # Verify new remote URL > origin git@hostname:USERNAME/REPOSITORY.git (fetch) > origin git@hostname:USERNAME/REPOSITORY.git (push)
トラブルシューティング
リモートを変更しようとすると、以下のエラーが生じることがあります。
No such remote '[name]'
このエラーは、変更しようとしたリモートが存在しないことを意味します:
$ git remote set-url sofake https://hostname/octocat/Spoon-Knife
> fatal: No such remote 'sofake'
リモート名を正しく入力したか確認してください。