ヒント: 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
- HTTPS を使うよう更新する場合、URL は以下のようになります:
リモート 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 ユーザ名とパスワードを求められます。 When Git prompts you for your password, enter your personal access token (PAT) instead. Password-based authentication for Git is deprecated, and using a PAT is more secure. For more information, see "Creating a personal access token."
You can use a credential helper so Git will remember your GitHub username and personal access token every time it talks to GitHub.
Switching remote URLs from HTTPS to 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'
リモート名を正しく入力したか確認してください。