如何修改当前git仓库远端地址(origin)
修改远端地址 ≠ 换仓库历史,它只影响 未来的 fetch / pull / push 行为,不会改动本地提交记录。这是一个安全、可逆、无副作用的操作,适合以下场景:
- GitLab / GitHub 仓库迁移
- HTTP → SSH(或反向)
- 内网仓库切换(如 mvpbag.internal)
- 主仓/镜像仓库切换
1.查看当前远端配置
1 | git remote -v |
典型输出:
1 | origin https://github.com/old-org/project.git (fetch) |
这是你的现状快照,后续操作都以它为参照。
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 | git remote remove origin |
⚠ 风险点:
- 会丢失 fetch/push 的差异化配置
- 对新手不友好
3.1 验证远端连通性
1 | git fetch origin |
3.2 验证推送权限
1 | git push -u origin main |
如果是首次绑定分支,-u 很重要,它会建立 upstream tracking。