远程仓库
一、什么是远程仓库(Remote Repository)
远程仓库是托管在服务器上的 Git 仓库,用于团队协作、代码备份和版本共享。
-
常见的远程仓库平台:
- GitHub
- GitLab
- Gitee
- 自建 Git 服务器
-
本地仓库 vs 远程仓库
类型 存储位置 是否联网 主要用途 本地仓库 开发者电脑 否 日常开发、提交 远程仓库 服务器、云端 是 共享、协作、备份
二、 SSH连接
-
创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"一路回车即可,使用默认值即可,上面会显示保存路径。
-
切换到生成目录,里面会存在两个文件,
id_rsa和id_rsa.pub,第一个是私钥,不能泄露,后面是公钥,复制公钥内容。 -
打开账号设置
- 点击左边SSH公钥,添加即可
三、 添加远程库
-
在gitee上创建一个仓库,通过如下命令,将本地仓库与远程仓库连接
git remote add <name> <url>示例:
git remote add origin git@gitee.com:yourname/yourproject.git这个origin 就是你远程仓库别名,一般是约定俗成的,你也可以使用其它名字。
-
查看远程仓库名字
git remote -v输出示例:
origin git@gitee.com:yourname/yourproject.git (fetch) origin git@gitee.com:yourname/yourproject.git (push)注:
fetch表示拉取元数据,push表示推送代码。
-
查看远程仓库信息
# 列出所有远程仓库名称 git remote # 显示详细 URL(含 fetch/push 地址) git remote -v # 查看某个远程仓库的详细信息 git remote show origin -
推送本地分支到远程仓库
git push -u origin <branch-name>示例:
git push -u origin master参数说明:
-u(或--set-upstream):将本地分支与远程分支建立跟踪关系,后续只需git push即可。- 首次推送必须指定远程名和分支名。
观察远程仓库,此时文件已经上传成功!
-
从远程仓库克隆项目
git clone <repository-url> [directory-name]示例:
git clone git@gitee.com:yourname/yourproject.git注:
- 克隆后自动创建
origin远程仓库。 - 自动检出默认分支(通常是
main或master)。 - 本地会创建对应的远程跟踪分支(如
origin/main)。
- 克隆后自动创建
-
拉取远程更新
git pull等价于:
git fetch && git merge警告:
git pull可能产生合并提交(merge commit)。若希望保持线性历史,建议使用:git pull --rebase这会将你的本地提交“重放”在最新远程提交之后。
-
获取远程更新但不合并
-
git fetch
- 仅下载远程仓库的最新对象和引用,不会修改你的工作区。
- 可以随后手动决定如何整合(如
merge、rebase、reset等)。
-
-
删除或重命名远程仓库
# 删除 git remote remove origin # 或 git remote rm origin # 重命名 git remote rename origin upstream -
修改远程仓库URL
git remote set-url origin https://new-url.com/user/repo.git
四、总结
| 命令 | 作用 |
|---|---|
git clone <url> | 克隆远程仓库 |
git remote -v | 查看远程仓库 |
git remote add origin <url> | 添加远程仓库 |
git push -u origin main | 首次推送并设置上游 |
git pull | 拉取并合并 |
git fetch | 仅获取远程更新 |
git remote show origin | 查看远程详细信息 |
git remote prune origin | 清理已删除的远程分支引用 |