如何查看本地仓库最初从哪个 URL 克隆的
查看克隆来源:git remote -v 显示 origin 的 fetch/push 地址;只看地址用 git config --get remote.origin.url。origin 可能被改过,此时 git config 里还留有原始记录可查。
git remote -v:列出所有远程及 fetch/push 地址,名为 origin 的就是克隆来源(除非后来改过)。只要地址本身:git config --get remote.origin.url。
命令
git remote -v
# origin git@github.com:org/repo.git (fetch)
# origin git@github.com:org/repo.git (push)
git config --get remote.origin.url # 只输出 URL
需要注意的坑
"origin 指向哪"是可改的(git remote set-url),所以它反映的是"当前的远程",不一定是"最初克隆来源"。如果地址被改过又想考古:
git config --list | grep -i url # 看所有相关配置
cat .git/config # 直接看配置文件原文
.git/config 里可能留有历史配置段落,能找出最初的地址。
其他远程信息
git remote show origin # 详细:URL、分支跟踪关系、HEAD 分支
git remote # 只列出远程名(origin、upstream…)
常见问题(FAQ)
Q:仓库根本没有远程怎么办?
git remote -v 无输出——这个仓库是 git init 本地创建的,或克隆后远程被移除。添加:git remote add origin <地址>。
Q:fetch 和 push 地址不一样是什么情况?
有人配置了独立 pushurl(git remote set-url --push),常见于"从只读镜像拉、推到主库"的架构。
Q:怎么换成别的远程地址?
git remote set-url origin <新地址>,换 SSH/HTTPS 协议、迁移平台都用它。