如何修改当前git仓库远端地址(origin)

修改远端地址 ≠ 换仓库历史,它只影响 未来的 fetch / pull / push 行为,不会改动本地提交记录。这是一个安全、可逆、无副作用的操作,适合以下场景:

  • GitLab / GitHub 仓库迁移
  • HTTP → SSH(或反向)
  • 内网仓库切换(如 mvpbag.internal)
  • 主仓/镜像仓库切换

1.查看当前远端配置

1
git remote -v

典型输出:

1
2
origin  https://github.com/old-org/project.git (fetch)
origin https://github.com/old-org/project.git (push)

这是你的现状快照,后续操作都以它为参照。


2. 修改 origin 远端地址

2.1 直接替换 origin(最常用、最稳妥)

1
git remote set-url origin NEW_REPO_URL

示例:

1
git remote set-url origin git@gitlab.pxb7.internal:infra/project.git

再次确认:

1
git remote -v

✔ 不影响本地分支
✔ 不影响 commit / tag
✔ CI/CD pipeline 也会自动指向新仓库


2.1 HTTP → SSH(避免每次输密码)

1
git remote set-url origin git@github.com:org/repo.git

前提:

  • 已配置 ~/.ssh/id_rsa.pub
  • Git 服务端已添加 SSH Key

3.删除并重新添加 origin

1
2
git remote remove origin
git remote add origin NEW_REPO_URL

⚠ 风险点:

  • 会丢失 fetch/push 的差异化配置
  • 对新手不友好

3.1 验证远端连通性

1
git fetch origin

3.2 验证推送权限

1
git push -u origin main

如果是首次绑定分支,-u 很重要,它会建立 upstream tracking