git remote

文章目录

  • [1. 简介](#1. 简介)
  • [2. 格式](#2. 格式)
  • [3. 选项](#3. 选项)
  • [4. 示例](#4. 示例)
    • [4.1 查看远程仓库](#4.1 查看远程仓库)
    • [4.2 添加远程仓库](#4.2 添加远程仓库)
    • [4.3 重命名远程仓库](#4.3 重命名远程仓库)
    • [4.4 移除本地对远程仓库的关联](#4.4 移除本地对远程仓库的关联)
    • [4.5 修改远程仓库 URL](#4.5 修改远程仓库 URL)
    • [4.6 查看远程仓库详细信息](#4.6 查看远程仓库详细信息)
    • [4.7 清理本地远程跟踪分支](#4.7 清理本地远程跟踪分支)
  • [5. 注意](#5. 注意)
    • [5.1 `origin` 的由来](#5.1 origin 的由来)
    • [5.2 常见远程仓库命名约定](#5.2 常见远程仓库命名约定)
    • [5.3 远程跟踪分支](#5.3 远程跟踪分支)
    • [5.4 查看远程分支](#5.4 查看远程分支)
    • [5.5 常用别名设置](#5.5 常用别名设置)
  • [6. 小结](#6. 小结)
  • 参考文献

1. 简介

git remote 用于管理一组被跟踪的远程代码仓库。

通过该命令,您可以查看、添加、重命名或删除与本地仓库关联的远程仓库。

简单来说,git remote 帮助您管理本地仓库与远程仓库之间的连接关系,是 Git 协作开发中的重要工具。

2. 格式

bash 复制代码
git remote [-v | --verbose]
git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <name> <url>
git remote rename <old> <new>
git remote remove <name>
git remote set-url <name> <newurl> [<oldurl>]
git remote show [-n] <name>...
git remote prune [-n | --dry-run] <name>

3. 选项

bash 复制代码
-v, --verbose
  显示远程仓库的 URL(拉取和推送地址)

add
  添加一个新的远程仓库

rename
  重命名一个远程仓库

remove
  移除一个远程仓库

set-url
  修改远程仓库的 URL

show
  显示远程仓库的详细信息(包括分支跟踪关系)

prune
  删除远程仓库中已不存在的远程跟踪分支

--mirror
  设置镜像仓库(用于裸仓库同步)

4. 示例

4.1 查看远程仓库

bash 复制代码
# 列出所有远程仓库名称
git remote

# 列出所有远程仓库名称和 URL(推荐)
git remote -v | --verbose
# 输出示例:
# origin  https://github.com/user/repo.git (fetch)
# origin  https://github.com/user/repo.git (push)

4.2 添加远程仓库

bash 复制代码
# 添加名为 origin 的远程仓库
git remote add origin https://github.com/user/repo.git

# 添加名为 upstream 的远程仓库(常用于跟踪原项目)
git remote add upstream https://github.com/another/repo.git

4.3 重命名远程仓库

bash 复制代码
# 将 origin 重命名为 upstream
git remote rename origin upstream

4.4 移除本地对远程仓库的关联

bash 复制代码
# 删除本地对远程仓库 upstream 的关联
git remote remove upstream

只会删除本地对远程仓库的引用(即删除 .git/config 中的远程仓库配置),不会删除远程服务器上的仓库,也不会影响其他人对远程仓库的访问。

4.5 修改远程仓库 URL

bash 复制代码
# 修改 origin 的 URL
git remote set-url origin https://github.com/newuser/newrepo.git

# 用于单独设置远程仓库的推送地址(push URL),使其与拉取地址(fetch URL)不同
git remote set-url --push origin https://github.com/newuser/newrepo.git

4.6 查看远程仓库详细信息

bash 复制代码
# 显示 origin 的详细信息(分支跟踪关系)
git remote show origin

4.7 清理本地远程跟踪分支

bash 复制代码
# 删除远程已不存在的本地跟踪分支
git remote prune origin

当你执行 git fetch 或 git push 时,Git 会在本地创建远程跟踪分支(如 origin/feature)。当远程分支被删除后,本地的远程跟踪分支并不会自动删除,git remote prune 就是用来清理这些"僵尸"引用的。

5. 注意

5.1 origin 的由来

origin 是 Git 中一个默认的远程仓库名称,代表你克隆项目时源仓库的地址。它就像为远程仓库 URL 设定的一个别名或书签,用于简化 Git 命令。

场景 说明
git clone 自动创建名为 origin 的远程仓库
为什么叫 origin 表示"源头",即克隆的来源仓库
能否改名 可以,但约定俗成不改

5.2 常见远程仓库命名约定

名称 用途
origin 自己的远程仓库(克隆来源)
upstream 上游仓库(原项目,用于同步)
backup 备份仓库
github / gitlab 区分不同平台的仓库

5.3 远程跟踪分支

bash 复制代码
# 远程跟踪分支格式
<远程仓库名>/<分支名>

# 示例
origin/main
upstream/develop

5.4 查看远程分支

bash 复制代码
# 查看所有远程分支
git branch -r

# 查看所有分支(包括本地和远程)
git branch -a

5.5 常用别名设置

bash 复制代码
git config --global alias.rem "remote -v"
git config --global alias.radd "remote add"
git config --global alias.rrm "remote remove"

# 使用别名
git rem
git radd upstream https://github.com/example/repo.git

6. 小结

需求 命令 说明
查看远程仓库 git remote -v 最常用,显示名称和 URL
添加远程仓库 git remote add <name> <url> git remote add origin ...
重命名远程仓库 git remote rename <old> <new> git remote rename origin upstream
移除远程仓库 git remote remove <name> git remote remove upstream
修改远程 URL git remote set-url <name> <newurl> 如仓库迁移后更新 URL
查看远程详情 git remote show <name> 显示分支跟踪关系
清理远程跟踪分支 git remote prune <name> 删除远程已不存在的本地跟踪分支

一句话总结git remote 管理本地仓库与远程仓库的连接。git remote -v 是最常用的命令,用于查看当前关联的远程仓库。首次克隆后自动有一个 origin,添加其他远程仓库用 git remote add。**


参考文献

Git - git-remote Documentation

相关推荐
恋喵大鲤鱼4 小时前
git cherry-pick
git·git cherry-pick
恋喵大鲤鱼4 小时前
git push
git·git push
stevenzqzq5 小时前
androidstudio 上配置git
git
向日葵.6 小时前
linux & qnx & git 命令 2
linux·运维·git
恋喵大鲤鱼6 小时前
git log
git·git log
阿明67 小时前
Git的原理与使用
git
阿旭超级学得完8 小时前
Linux基础指令 四(apt,vim,git,cgdb)
linux·服务器·开发语言·数据结构·c++·git·vim
恋喵大鲤鱼21 小时前
git mv
git·git mv
Patrick_Wilson1 天前
Git Worktree 原理详解:从 objects / refs 看懂多分支并行与多 Agent 协作
git·面试·ai编程