git 如何免密提交之 基于 Gitee 的 SSH 配置教程

1. 安装git

在Windows上安装Git,我们需要先把Git的安装包下载下来,访问网址:

https://git-scm.com/download/win

点击Download开始下载,下载完成后双击安装包进行安装,之后一直点击"下一步"就可以完成安装了。

下载完成后,双击安装包进行安装。安装过程中大多数选项保持默认即可,一直点击"Next",最后点击"Install"。

安装完成后,在桌面或任意文件夹中右键,如果能看到:
Git Bash Here
Git GUI Here

说明 Git 安装成功。

也可以打开 Git Bash,输入:

bash 复制代码
git --version

如果能看到类似:

bash 复制代码
git version 2.xx.x.windows.x

说明 Git 已经正常安装。

2. 配置 Git 用户信息

Git 安装完成后,需要先配置用户名和邮箱。

打开 Git Bash,输入:

c 复制代码
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

查看是否配置成功:

bash 复制代码
git config --global user.name
git config --global user.email

注意:这里的用户名和邮箱主要用于记录提交作者信息,不等于 Gitee 的登录账号,也不代表你已经有仓库权限。

3. 为什么每次 push 都要输入密码

如果你的远程仓库地址是 HTTPS 格式:

bash 复制代码
https://gitee.com/用户名/仓库名.git

那么在提交代码时,Git 可能会要求你输入账号和密码,或者输入私人令牌 Token。

如果想实现免密推送,推荐使用 SSH 方式。

SSH 地址一般长这样:

bash 复制代码
git@gitee.com:用户名/仓库名.git

简单来说:

HTTPS:使用账号 + 密码 / Token 认证

SSH:使用公钥 + 私钥认证

我们要实现免密提交,就需要配置 SSH。

4. 生成 SSH 密钥

在 Git Bash 中输入:

bash 复制代码
ssh-keygen -t rsa #老算法,兼容性好,但密钥更长
ssh-keygen -t ed25519 -C "你的邮箱或备注" #新算法,更短、更快、安全性也很好

执行后会出现几次提示,直接一路回车即可。

如果看到类似内容:

bash 复制代码
Your identification has been saved in /c/Users/xxx/.ssh/id_ed25519
Your public key has been saved in /c/Users/xxx/.ssh/id_ed25519.pub

说明 SSH 密钥生成成功。

这里会生成两个文件:

id_ed25519 私钥,保存在自己电脑上,不能泄露

id_ed25519.pub 公钥,需要配置到 Gitee

5. 查看并复制 SSH 公钥

继续在 Git Bash 中输入:

bash 复制代码
cat ~/.ssh/id_rsa.pub
cat ~/.ssh/id_ed25519.pub

会输出一长串内容,大概长这样:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIxxxxxxxxxxxxxxxx

3324357875@qq.com

把这一整行复制下来。

注意:一定要复制完整,从 ssh- 开始,到最后的邮箱或备注结束。

6. 在 Gitee 添加 SSH 公钥

登录 Gitee 后,点击右上角头像,进入:

设置 → 安全设置 → SSH 公钥

点击"添加公钥"。

标题可以随便写,例如:

hqrj

公钥内容粘贴刚才复制的内容:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIxxxxxxxxxxxxxxxx

3324357875@qq.com

然后点击确定。

这样 Gitee 就认识你这台电脑了。

7. 测试 SSH 是否配置成功

回到 Git Bash,输入:

bash 复制代码
ssh -T git@gitee.com

第一次连接时,可能会出现:

Are you sure you want to continue connecting?

输入:

bash 复制代码
yes

如果看到类似:

Hi 用户名! You've successfully authenticated, but GITEE.COM does not

provide shell access.

说明 SSH 配置成功。

这里的:

does not provide shell access

不是报错,它只是说明 Gitee 不提供 SSH 登录服务器的功能,但是 Git 认证已经成功。

8. 使用 SSH 地址克隆仓库

进入 Gitee 仓库页面,点击"克隆/下载",选择 SSH 地址。

在本地选择一个目录,打开 Git Bash,执行:

bash 复制代码
git clone git@gitee.com:用户名/仓库名.git

克隆完成后进入项目目录:

bash 复制代码
cd 目录

9. 如果之前已经用 HTTPS 克隆了怎么办

如果你之前是用 HTTPS 克隆的仓库,也不用重新下载项目,可以直接修改远程地址。

先查看当前远程地址:

bash 复制代码
git remote -v

如果看到:

bash 复制代码
origin  https://gitee.com/用户名/仓库名.git (fetch)
origin  https://gitee.com/用户名/仓库名.git (push)

说明当前使用的是 HTTPS。

把它改成 SSH:

bash 复制代码
git remote set-url origin git@gitee.com:用户名/仓库名.git

例如:

bash 复制代码
git remote set-url origin git@gitee.com:shimoyaya/ling-pengyan.git

再次查看:

bash 复制代码
git remote -v

如果变成:

bash 复制代码
origin  git@gitee.com:shimoyaya/ling-pengyan.git (fetch)
origin  git@gitee.com:shimoyaya/ling-pengyan.git (push)

说明远程地址已经切换成 SSH。

之后再 push 就不会弹出账号密码了。

10. Git 提交代码的基本流程

修改代码后,先查看当前状态:

bash 复制代码
git status

把修改的文件加入暂存区:

bash 复制代码
git add .

提交到本地仓库:

bash 复制代码
git commit -m "提交说明"

例如:

bash 复制代码
git commit -m "新增链表增删改查代码"

推送到远程仓库:

bash 复制代码
git push origin master

如果你的分支不是 master,比如当前分支是 lpy-IO-4.30,就执行:

bash 复制代码
git push origin lpy-IO-4.30

如果是第一次推送当前分支,推荐加上 -u:

bash 复制代码
git push -u origin lpy-IO-4.30

以后再推送这个分支,只需要:

bash 复制代码
git push

11. 常用命令解释

查看当前仓库状态:

bash 复制代码
git status

查看当前分支:

bash 复制代码
git branch

查看当前分支名称:

bash 复制代码
git branch --show-current

查看远程仓库地址:

bash 复制代码
git remote -v

添加所有修改:

bash 复制代码
git add .

提交代码:

bash 复制代码
git commit -m "提交说明"

推送代码:

bash 复制代码
git push

拉取远程最新代码:

bash 复制代码
git pull

切换分支:

bash 复制代码
git checkout 分支名

创建并切换到新分支:

bash 复制代码
git checkout -b 新分支名

12. 如果是 Fork 仓库并提交 Pull Request

有些团队项目不能直接 push 到主仓库,需要先 Fork 到自己的账号下。

大致流程是:

  1. Fork 团队仓库到自己的 Gitee 账号
  2. 克隆自己的仓库到本地
  3. 新建分支
  4. 修改代码
  5. 提交并推送到自己的仓库
  6. 在 Gitee 上创建 Pull Request
  7. 等待老师或管理员合并

推荐不要直接在 master 分支上写作业,可以为每次任务单独创建分支:

bash 复制代码
git checkout -b lpy-IO-4.30

提交后推送:

bash 复制代码
git add .
git commit -m "IO复习笔记"
git push -u origin lpy-IO-4.30

然后在 Gitee 页面新建 Pull Request。

源分支选择:

自己的仓库:lpy-IO-4.30

目标分支选择:

老师或团队仓库:master

这样老师才能看到你的代码并进行合并。

13. 常见问题

问题一:SSH 测试成功,但是 push 失败

如果执行:

bash 复制代码
ssh -T git@gitee.com

显示成功,但是 push 时提示:

bash 复制代码
Access denied

说明 SSH 本身没有问题,而是你的 Gitee 账号没有这个仓库的写入权限。

解决方法:

  1. 确认当前仓库是不是自己的仓库
  2. 如果是团队仓库,需要管理员把你的账号加入项目成员
  3. 如果没有权限,可以先推送到自己的 Fork 仓库,再提交 Pull Request

问题二:还是弹出账号密码

先查看远程地址:

bash 复制代码
git remote -v

如果还是:

bash 复制代码
https://gitee.com/用户名/仓库名.git

说明你还在使用 HTTPS。

改成 SSH:

bash 复制代码
git remote set-url origin git@gitee.com:用户名/仓库名.git

再执行:

bash 复制代码
git push

问题三:提示当前分支没有 upstream

如果出现类似:

bash 复制代码
The current branch xxx has no upstream branch

说明当前分支还没有和远程分支建立关联。

执行:

bash 复制代码
git push -u origin 当前分支名

例如:

bash 复制代码
git push -u origin lpy-IO-4.30

之后再 push 就可以直接使用:

bash 复制代码
git push

问题四:提交时提示没有配置用户名和邮箱

如果出现:

bash 复制代码
Please tell me who you are

说明没有配置 Git 用户信息。

执行:

bash 复制代码
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

14. 总结

Windows 下 Git 免密提交的核心步骤是:

  1. 安装 Git
  2. 配置 Git 用户名和邮箱
  3. 生成 SSH 密钥
  4. 把 SSH 公钥添加到 Gitee
  5. 测试 SSH 连接
  6. 使用 SSH 地址克隆或修改远程地址
  7. 正常 git add、git commit、git push

最关键的是这一步:

bash 复制代码
git remote -v

如果远程地址是:

bash 复制代码
https://gitee.com/xxx/xxx.git

说明使用的是 HTTPS,可能会要求输入账号密码。

如果远程地址是:

bash 复制代码
git@gitee.com:xxx/xxx.git

说明使用的是 SSH,配置成功后就可以免密提交。

相关推荐
我是谁??1 小时前
ubuntu22.04在线安装docker和nvidia-container-toolkit
git·docker·github
Kessity1 小时前
Git标签管理
git
悟空瞎说20 小时前
Git Worktree 实战:多 AI 编码代理并行开发,彻底解决分支切换冲突痛点
前端·git
BING_Algorithm1 天前
开发常用Git核心知识
git·后端
Lyyaoo.1 天前
Git常用命令及应用
git
呆萌很1 天前
Git 配置 .gitignore 文件
git
小则又沐风a1 天前
Linux下的Git的上传(版本控制器)
linux·数据库·git
天真吴邪xie1 天前
Claude Code安装
java·git