git remote 是什么
git remote 管理本地仓库记录的远端条目:每个条目有一个名字(origin 是克隆时自动建立的)和取回、推送两个地址。它只维护本地配置,不会改动服务器上的仓库内容。查看地址、改名、增删条目都用它,配合 -v 一眼就能看清当前配置。
为什么会需要多个远端
协作模式不同,远端数量就不同:Fork 工作流通常配两个,origin 指向自己的派生仓库,upstream 指向原始仓库,便于同步上游更新;同时对接多环境时也常见 dev、prod 之类的多个远端。理解「远端只是本地的一个名字加地址」后,这些用法都很自然。
基本信息
| 适用平台 | Linux / macOS / Windows(Git 2.x) |
|---|---|
| 语法 | git remote [子命令] [名字] [地址] |
| 默认远端 | origin,克隆时自动建立 |
| 常用子命令 | add / rename / remove / set-url / show / prune |
| 查看地址 | git remote -v 显示取回与推送两个地址 |
| 影响范围 | 仅本地配置,不改服务器 |
典型使用场景
- 核对配置:提交前确认 origin 指向的到底是不是预期仓库
- Fork 协作:加 upstream 远端,方便把上游更新同步过来
- 更换地址:仓库迁移后把地址改成新域名
- 多环境对接:为测试与生产分别配置远端
- 清理条目:本地改名或删除远端条目,不影响服务器
常用示例
常用示例
git remote -v # 查看远端名与对应的地址
git remote show origin # 查看某远端的详细信息
git remote add upstream https://example.com/org/repo.git
git remote set-url origin git@github.com:org/repo.git
git remote rename origin old-origin
git remote remove upstream
git remote prune origin # 清理远端已删除的分支引用常用子命令
| 子命令 | 作用 | 注意 |
|---|---|---|
| -v | 列出名字与地址 | 取回与推送地址都显示 |
| add | 新增远端条目 | 名字不能与已有条目重复 |
| set-url | 修改地址 | 只改配置不改服务器 |
| rename | 重命名条目 | 分支的上游配置不会自动跟随 |
| remove | 删除条目 | 不影响服务器上的仓库 |
| prune | 清理失效分支引用 | 常与 fetch --prune 配合 |
Fork 工作流常配两个远端:origin 指向自己的派生仓库,upstream 指向原始仓库,便于从上游同步最新代码。
改名或删除远端条目不会自动修正各分支的上游配置。操作后用 git branch -vv 检查一遍,必要时用 git branch -u 重新指定跟踪关系。