远程仓库Remote Repository
你可能会说
我的提交只在自己电脑上,怎么让别人也能看到?
存放在别处(通常是云端)的同一份仓库副本,用来同步改动和协作在本地电脑上完成的代码提交,只有推送到托管在云端(如 GitHub)的远程仓库后,协作者才能拉取查看,自动化部署流程也才能据此更新网页。origin 是默认远程仓库的约定别名;克隆 Clone、推送 Push 和 拉取 Pull 等常见 Git 命令,本质上都是在本地仓库与远程仓库之间同步历史记录。
先知道
也常被叫作远程Remoteorigin
什么时候用
- 用 git remote -v 查看当前仓库关联了哪个远程地址$ git remote -vorigin https://github.com/you/my-first-page.git (fetch)
- 克隆或初始化时把远程仓库命名为 origin,后续命令直接用它$ git remote add origin https://github.com/you/my-first-page.git克隆时通常已自动配好 origin
- 推送前先拉取远程最新改动,避免被拒绝git pull→git push→推送成功 ✓
- 协作者 clone 同一个远程地址,就能拿到同一份完整历史$ git clone https://github.com/you/my-first-page.gitCloning into 'my-first-page'...
什么时候不用
- 把密钥、密码或 .env 提交并推送到远程仓库.env 里写着密钥,推送后任何人都能拉到
- 推送被拒绝时直接强推覆盖远程历史git push --force 抹掉了同事刚推送的 3 个提交被拒绝时应先拉取合并,而不是强推
- 在错误的远程地址上推送,改动进入别人的仓库推送到了别人的仓库地址推送前用 git remote -v 确认地址
- 以为推送即上线:远程仓库不等于网站已经部署git push ✓→网站没更新
组成结构 · Anatomy
https://github.com/you/my-first-page.git
指向云端那份仓库;origin 只是它的名字,换名字不影响内容
常见变体 · Variants
查看远程remote -v
git remote -v
确认本地仓库关联了哪些远程地址
新增远程remote add
git remote add origin https://…
本地仓库还没有关联远程地址时
推送push
git push origin main
把本地提交送到远程仓库
拉取pull
git pull origin main
把远程的新改动取回本地并合并
典型使用场景
终端 git remote -v 查看地址
$ git remote -v
origin https://github.com/you/my-first-page.git (fetch)
origin https://github.com/you/my-first-page.git (push)
GitHub 仓库页面
push 被拒绝的提示
$ git push origin main
To github.com:you/my-first-page.git
! [rejected] main -> main (fetch first)
远程有你没有的提交:先 git pull 合并,再推送
clone 时指定的远程地址
$ git clone https://github.com/you/my-first-page.git
Cloning into 'my-first-page'...
这个地址就是远程仓库;克隆后本地自动关联 origin
延伸阅读 · 权威出处
