一、环境准备与 SSH 配置
1. 生成 SSH 密钥
# 使用 RSA 算法生成密钥(-C 参数是你的邮箱)
ssh-keygen -t rsa -b 4096 -C "你的邮箱@example.com"
# 或者使用更现代的 ED25519 算法(Mac 推荐)
ssh-keygen -t ed25519 -C "你的邮箱@example.com"
- 一路回车即可(建议密码留空,避免每次输入)
2. 查看并复制公钥
# 查看公钥内容
cat ~/.ssh/id_rsa.pub # RSA 算法
# 或
cat ~/.ssh/id_ed25519.pub # ED25519 算法
- 选中整行输出内容(以
ssh-rsa或ssh-ed25519开头),右键复制(Mac 用Command+C)
3. 添加公钥到 Gitee
- 登录 Gitee → 右上角头像 → 设置 → SSH公钥
- 点击 添加公钥,标题任意填写(如"我的电脑"),粘贴公钥内容 → 确定
4. 测试 SSH 连接
ssh -T git@gitee.com
- 第一次连接会提示确认指纹,输入
yes回车 - 成功看到:
Hi 用户名! You've successfully authenticated...
⚠️ 注意:
ssh -T后面是git@gitee.com,不是你的邮箱!
二、从远程仓库拉取代码
方式一:克隆整个仓库(首次获取)
# 切换到你想存放项目的目录
cd /d/code/djd/hhr # Windows 示例
# 或
cd ~/Desktop # Mac 示例
# 克隆仓库(使用 SSH 地址)
git clone git@gitee.com:你的用户名/仓库名.git
# 克隆完成后进入项目目录
cd 仓库名
方式二:拉取已有仓库的最新更新(已克隆过)
# 进入项目目录
cd 你的项目路径
# 拉取远程最新代码
git pull origin main # 或 master,取决于你的分支名
三、将本地代码推送到远程仓库
1. 确认你在正确的 Git 仓库目录下
pwd # 查看当前路径
git status # 查看 Git 状态(确保不是"not a git repository")
2. 添加文件到暂存区
# 添加单个文件
git add 文件名
# 添加整个文件夹及其所有内容
git add 文件夹名/
# 添加当前目录下所有更改
git add .
3. 提交到本地仓库
git commit -m "本次提交的说明文字"
-m后面的内容是提交信息,建议写清楚本次修改了什么
4. 推送到远程仓库
# 先确认当前分支名
git branch
# 星号(*)所在的就是当前分支,通常是 main 或 master
# 推送(把分支名替换成你实际的分支)
git push origin main # 如果分支是 main
# 或
git push origin master # 如果分支是 master
四、日常协作完整流程(多台电脑)
场景:公司电脑开发完,回家继续
在公司:
git add .
git commit -m "白天完成的功能"
git push origin main
到家后(Mac):
cd ~/项目目录
git pull origin main # 拉取公司提交的代码
# 开始继续开发...
在家开发完:
git add .
git commit -m "晚上补充的功能"
git push origin main
第二天到公司:
cd /d/code/项目目录
git pull origin main # 拉取家里提交的代码
五、常见错误及解决方案
| 错误信息 | 原因 | 解决方法 |
|---|---|---|
Permission denied (publickey) | 公钥未添加或添加错误 | 重新复制 ~/.ssh/id_rsa.pub 内容到 Gitee SSH公钥设置 |
ssh: connect to host qq.com port 22: Connection timed out | 命令写成了 ssh -T 邮箱@qq.com | 正确命令:ssh -T git@gitee.com |
You appear to have cloned an empty repository | 远程仓库是空的 | 需要先 git add + git commit + git push 推送代码 |
fatal: not a git repository | 不在 Git 项目目录下 | 先 cd 项目目录 进入正确路径 |
error: failed to push | 分支名错误或远程有更新 | 先 git pull,或确认分支名(git branch) |
六、关键命令速查表
| 操作 | 命令 |
|---|---|
| 生成 SSH 密钥 | ssh-keygen -t rsa -b 4096 -C "邮箱" |
| 查看公钥 | cat ~/.ssh/id_rsa.pub |
| 测试 SSH 连接 | ssh -T git@gitee.com |
| 克隆仓库 | git clone git@gitee.com:用户名/仓库名.git |
| 拉取更新 | git pull origin 分支名 |
| 查看状态 | git status |
| 添加文件 | git add . 或 git add 文件夹/ |
| 提交 | git commit -m "说明" |
| 推送 | git push origin 分支名 |
| 查看分支 | git branch |
七、核心要点总结
- SSH 密钥是钥匙:每台电脑需要生成自己的密钥,并把公钥添加到 Gitee
- 仓库地址用 SSH 格式:
git@gitee.com:用户名/仓库名.git(不是 HTTPS 地址) - 三步骤推送:
add→commit→push - 协作前先拉取:在 push 之前,最好先
git pull一下,避免冲突 - 分支名要一致:推送和拉取时用的分支名(main/master)要和远程一致
这个流程已经在你的公司 Windows 电脑上验证通过,可以同样应用到家里的 Mac 上。多台电脑共用同一个 Gitee 仓库,只要各自配置好 SSH 密钥,就能无缝协作。