首页/开发/Git 与协作速查/git remote set-url 修改远端地址
Git 基础与命令88 条

git remote set-url 修改远端地址

更换远端地址:HTTPS 与 SSH 互转、域名迁移都用它;--push 可以为推送单独指定地址。

Git 与协作速查开发更新于 2026-10-13

remote set-url 是什么

git remote set-url 用于更换远端地址,HTTPS 与 SSH 之间互转、域名迁移、切到镜像仓库都属于它的常见用途。注意抓取与推送地址可以分开设置:加 --push 只改推送地址,这样可以从一个地址拉取、往另一个地址推送。改完之后建议先用 git ls-remote 验证连通与权限,比直接抓取更快暴露凭证或网络问题。

基本信息

用途修改抓取与推送地址
场景协议切换、域名迁移、镜像仓库
区分地址git remote set-url --push origin <地址>
验证git ls-remote origin
平台任意 Git 客户端与托管平台

典型使用场景

  • 仓库从 HTTPS 改为 SSH,免去每次输入凭证
  • 平台域名变更,需要把本地远端指向新地址
  • 拉取走内网镜像、推送走官方仓库
  • 切换到自建 Git 服务,迁移后更新远端
  • 排查权限问题,先看抓取与推送地址分别指向哪里
  • 为同一个项目维护多个远端并分别命名

常用示例

常用示例
git remote -v                                            # 先看当前地址
git remote set-url origin git@github.com:org/repo.git    # 改用 SSH
git remote set-url --push origin git@example.com:mirror/repo.git  # 单独改推送
git remote -v                                            # 复核两行地址
git ls-remote origin | head                              # 验证连通与权限

常用子命令

命令作用
git remote -v列出抓取与推送地址
git remote set-url修改抓取地址
git remote set-url --push只修改推送地址
git ls-remote验证连通与可见引用
改完地址先用 git ls-remote 验证连通与权限,比直接 fetch 更快暴露问题。
抓取与推送地址可以不同,遇到权限问题时先看 git remote -v 的两行地址,而不是急着改密钥。
HTTPS 与 SSH 各有利弊:HTTPS 配置简单、便于配合令牌,SSH 免去频繁认证;按团队凭证管理方式选择,改后记得在 CI 中同步。

更换地址后的核对动作

  • git remote -v 确认抓取与推送两行地址都正确
  • git ls-remote 验证连通与权限
  • git fetch 拉一次,确认引用能正常更新
  • 同步更新 CI、镜像与其他同事使用的地址说明
只有一个远端时它叫 origin,但名称只是约定;维护多个远端时按用途命名(如 upstream 指上游仓库、mirror 指镜像),后续命令更不容易看错。

易错点

  • 抓取与推送地址可以不同,权限问题先看 git remote -v 的两行地址
  • 换 SSH 后没把公钥加到平台账号,会报缺少可用密钥的错误
  • 改错远端名(如误写 upstream)会让命令静默作用在别的远端上,改前先 -v 确认
  • 只改地址不验证,后续抓取失败时才排查,多花一轮时间
  • 迁移后忘记同步更新镜像或 CI 中的仓库地址,其余环境仍指向旧位置

数据来源与参考

  • Git 官方文档:git-remote(set-url)
  • GitHub 官方文档:管理远程仓库(remote 管理)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌