提示: 有关 HTTPS 与 SSH URL 之间的差异,请参阅“我应使用哪种远程 URL?”
git remote set-url
命令使用两个参数:
- 现有远程仓库的名称。 例如,
源仓库
或上游仓库
是两种常见选择。 - 远程仓库的新 URL。 例如:
- 如果您要更新为使用 HTTPS,您的 URL 可能如下所示:
https://[hostname]/USERNAME/REPOSITORY.git
- 如果您要更新为使用 SSH,您的 URL 可能如下所示:
git@hostname:USERNAME/REPOSITORY.git
- 如果您要更新为使用 HTTPS,您的 URL 可能如下所示:
将远程 URL 从 SSH 切换到 HTTPS
- 打开 Terminal(终端)Terminal(终端)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.
将远程 URL 从 HTTPS 切换到 SSH
- 打开 Terminal(终端)Terminal(终端)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'
检查您是否正确键入了远程仓库的名称。