Git 安装与 SSH 公钥配置教程

连 GitHub / 腾讯工蜂,彻底搞懂免密推送


1. Git 是什么

Git 是一个版本控制工具,用来保存代码的历史记录、方便多人协作。你写的每一版代码都可以被它记录下来,哪天写崩了随时可以回退。

2. 安装 Git

Windows

直接去官网下载安装包,双击一路点「Next」就好:

git-scm.com/download/wi...

安装完成后,右键任意文件夹,选择「Git Bash Here」,会弹出一个命令行窗口,后续所有命令都在这里面执行。

Mac

打开终端,执行以下命令:

bash 复制代码
brew install git

如果你没有安装 Homebrew,Mac 自带 Git,只是可能版本比较旧。也可以直接去官网下载图形安装包:git-scm.com/download/ma...

Linux(Ubuntu / Debian 系列)

bash 复制代码
sudo apt update && sudo apt install git

其他发行版用对应的包管理器,比如 Fedora 用 dnf install git,Arch 用 pacman -S git

3. 验证安装

打开终端或 Git Bash,执行:

bash 复制代码
git --version

看到类似 git version 2.x.x 的输出就说明装好了。

4. 第一次配置

安装好 Git 之后,先告诉它你是谁:

bash 复制代码
git config --global user.name "你的名字"
git config --global user.email "your@email.com"

这两条命令的作用是:每次你提交代码的时候,Git 会把你的名字和邮箱记在这次提交里,团队里的人看到就知道是谁改的。这里配置的是全局信息,对本台电脑所有项目都生效。如果某个项目想用不同的身份,去项目目录下把 --global 去掉再跑一遍就行。

5. SSH 公钥私钥是什么

简单说,公钥和私钥是一对数学上关联的"锁和钥匙"。公钥是一把锁,可以公开,放在服务器(GitHub、工蜂)上;私钥是真正的钥匙,只有你电脑上才有,用来开那把锁。每次 push 的时候,服务器用它认识的那把锁验证你有没有对应的钥匙,有就放行,没有就拒绝。配好一次,以后就不用每次输入密码了。

6. 生成 SSH 密钥对

bash 复制代码
ssh-keygen -t ed25519 -C "your@email.com"

-t ed25519 表示使用目前最安全、长度适中的一种密钥算法。-C 后面跟你的邮箱,只是给这把钥匙起个标签,方便你自己辨认。

执行之后会问两个问题:

bash 复制代码
Enter file in which to save the key (C:\Users\你的用户名/.ssh/id_ed25519): 

直接回车,用默认路径就行。

java 复制代码
Enter passphrase (empty for no passphrase):

可以输入一个密码,也可以直接回车留空。建议留空,省得以后用起来还要再输一次。

看到 Your public key has been saved in ... 就生成成功了。公钥文件默认在 ~/.ssh/id_ed25519.pub,私钥在 ~/.ssh/id_ed25519,私钥文件不要动、不要发给别人。

7. 把公钥加到 GitHub

第一步,把公钥内容复制出来:

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

终端里会输出一行以 ssh-ed25519 AAAA... 开头的字符串,全部选中复制。

第二步,打开 GitHub 网页,登录后点右上角头像 → Settings → 左侧菜单 SSH and GPG keys → 点击 New SSH key 。Title 随便填,比如「我的工作电脑」,Key 那一栏粘贴刚才复制的内容,点 Add SSH key 完成。

8. 把公钥加到腾讯工蜂(CODING)

腾讯工蜂(现在也叫 CODING)和 GitHub 是同一套操作。

同样执行 cat ~/.ssh/id_ed25519.pub 复制公钥,然后打开 e.coding.net 登录,进入个人设置 → SSH 公钥 → 添加公钥,把内容粘贴进去,保存即可。

9. 验证连通性

添加完公钥之后,可以测试一下是否连通了。

连 GitHub:

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

连腾讯工蜂:

bash 复制代码
ssh -T git@e.coding.net

第一次连可能会提示你确认主机指纹,输入 yes 回车就行。看到 Hi xxx! You've successfully authenticated 就说明成功了,GitHub/工蜂已经认可你这台电脑了。

10. 第一次 push

在 push 之前,先看一下远程仓库地址格式对不对:

bash 复制代码
git remote -v

输出类似这样:

scss 复制代码
origin  git@github.com:username/repo.git (fetch)
origin  git@github.com:username/repo.git (push)

这种 git@github.com: 开头的是 SSH 格式,说明已经配置好了,可以直接 push。

如果看到的是这样:

perl 复制代码
origin  https://github.com/username/repo.git (fetch)
origin  https://github.com/username/repo.git (push)

这种 https:// 开头的是 HTTPS 格式,每次 push 还是会让你输密码。需要改成 SSH 格式:

bash 复制代码
git remote set-url origin git@github.com:username/repo.git

username/repo.git 换成你实际的仓库地址,改完之后再执行一遍 git remote -v 确认格式变了,就可以正常 push 了:

bash 复制代码
git add .
git commit -m "first commit"
git push -u origin main

11. Clone 时 SSH 还是 HTTPS,判断标准

记住一个简单的原则:这台电脑配置过 SSH 公钥,就用 SSH 地址;没配过或者在别人的机器上临时用,就用 HTTPS 地址。

SSH 地址格式是 git@github.com:username/repo.git,HTTPS 地址格式是 https://github.com/username/repo.git

实际选择时:

  • 你自己的电脑,配好了 SSH 公钥,直接用 SSH 地址,clone 和 push 都不需要输入密码。
  • 公司电脑或者多人共用电脑,如果你不想把 SSH 私钥留在那里,用 HTTPS 地址,每次 push 时输入账号密码或者配置 credential helper 记住密码也行。
  • 在国内访问 GitHub 速度慢的时候,也可以先用 HTTPS clone 下来再手动改 remote 为 SSH,具体看你网络情况。

相关推荐
用户850869276155 小时前
一次线上文件上传 Bug 引发的区块链分布式存储深度排查
后端
名字还没想好☜5 小时前
Java Cleaner 实战:替代废弃的 finalize() 做堆外资源清理,以及强引用导致永不回收的坑
java·后端·spring
大勇前进5 小时前
写了5年代码,我重新开始认真写单元测试
后端
长大19885 小时前
TypeScript 真的是 JavaScript 的"平替"吗?5 个真实项目踩坑记录
后端
泡海椒5 小时前
响应自动序列化:JSON 响应一键转 Java 实体对象,JQuick-Curl 第三方接口调用不再手动解析
后端·github
大白805 小时前
"速度"与"质量"不是选择题——我们如何用 CI/CD 同时保住两者
后端
八苦5 小时前
用 runtime-async 写一个支持 async/await 的轻量脚本引擎
后端
ttwuai7 小时前
Go 后台附件迁到对象存储后,path、cdnUrl 和 tenant_id 怎么一起验?
开发语言·后端·golang
dear_bi_MyOnly7 小时前
函数模块化:企业级项目高效之道
c++·后端·学习
2601_962073977 小时前
苍穹外卖-day07(Spring Cache & 购物车业务逻辑)
java·后端·spring