Git 与 GitHub SSH 指南
🧰 Git 与 GitHub SSH 指南
✨ 一篇够用的 Git / GitHub / SSH 笔记,适合新电脑初始化、日常查命令、排查连接问题。
🧠 先记住一句话
Git 负责版本管理,GitHub 负责远程托管。
日常最核心的流程就是:
1 | 修改文件 -> git add -> git commit -> git push |
📦 Git 是什么
可以把 Git 理解成一个“文件时间机器 + 协作记录器”。
几个高频概念先混个脸熟:
workspace:工作区,你正在改的文件staging area:暂存区,准备提交的内容repository:仓库,保存历史记录的地方commit:一次提交branch:分支remote:远程仓库,比如 GitHub
💡 简化理解:工作区像草稿纸,暂存区像待寄出信封,提交就是正式存档。
💻 安装 Git
🪟 Windows
官方入口:
- Git 安装页:https://git-scm.com/install/windows
- Git 下载页:https://git-scm.com/download/win
安装建议:
- 直接安装
Git for Windows - 大部分选项保持默认即可
- 保留
Git Bash - PowerShell 里也可以照常用 Git
安装后检查:
1 | git --version |
看到类似输出就说明没问题:
1 | git version 2.xx.x |
🍎 macOS
1 | brew install git |
🐧 Linux
Debian / Ubuntu:
1 | sudo apt update |
Fedora:
1 | sudo dnf install git |
CentOS / RHEL:
1 | sudo yum install git |
⚙️ 首次全局配置
安装完 Git,第一件事就是配身份信息:
1 | git config --global user.name "你的名字" |
查看配置:
1 | git config --global --list |
查看单项:
1 | git config --global user.name |
顺手建议配上这两个:
1 | git config --global init.defaultBranch main |
查看所有配置来源:
1 | git config --list --show-origin |
✅
user.email最好和 GitHub 上使用的邮箱保持一致。
🔐 GitHub SSH 配置
SSH 的好处:
- 不用每次推送都输账号密码
- 更适合长期开发
- 多仓库、多设备时更顺手
1. 👀 先看本地有没有 key
1 | ls ~/.ssh |
常见文件:
id_ed25519:私钥id_ed25519.pub:公钥id_rsaid_rsa.pub
如果已经有现成的 key,可以先看看是不是你要继续用的那一套。
2. 🪄 生成新的 SSH key
优先推荐 ed25519:
1 | ssh-keygen -t ed25519 -C "你的GitHub邮箱" |
如果环境太老不支持,再用 rsa:
1 | ssh-keygen -t rsa -b 4096 -C "你的GitHub邮箱" |
过程中会提示:
1 | Enter file in which to save the key |
直接回车即可,默认会保存到:
1 | ~/.ssh/id_ed25519 |
然后会让你输入 passphrase:
- 直接回车:方便
- 设置密码:更安全
3. 🚀 启动 ssh-agent 并添加 key
Windows Git Bash
1 | eval "$(ssh-agent -s)" |
Windows PowerShell
先看服务:
1 | Get-Service ssh-agent |
启动服务:
1 | Start-Service ssh-agent |
添加私钥:
1 | ssh-add $HOME\.ssh\id_ed25519 |
macOS / Linux
1 | eval "$(ssh-agent -s)" |
4. 📋 复制公钥
1 | cat ~/.ssh/id_ed25519.pub |
复制整行内容,形态大概像这样:
1 | ssh-ed25519 AAAA.... your_email@example.com |
5. 🌍 添加到 GitHub
GitHub 路径:
SettingsSSH and GPG keysNew SSH keyTitle填设备名,比如My LaptopKey粘贴公钥- 保存
官方文档:
- SSH 总入口:https://docs.github.com/en/authentication/connecting-to-github-with-ssh
- 生成 SSH key:https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
- 添加 SSH key:https://docs.github.com/articles/adding-a-new-ssh-key-to-your-github-account
6. ✅ 测试 SSH 连接
1 | ssh -T git@github.com |
第一次通常会看到:
1 | The authenticity of host 'github.com (...)' can't be established. |
输入:
1 | yes |
成功后一般会看到类似内容:
1 | Hi <your-name>! You've successfully authenticated... |
测试文档:
🧾 SSH 配置文件
如果你有多个 GitHub 账号,或者想指定不同私钥,可以配置 ~/.ssh/config。
单账号示例
1 | Host github.com |
多账号示例
1 | Host github-personal |
这时远程地址可以写成:
1 | git@github-personal:username/repo.git |
🔁 多账号时,
~/.ssh/config很值。
🏗️ 新仓库常用流程
📁 本地新建仓库
1 | git init |
🔗 关联远程 GitHub 仓库
1 | git remote add origin git@github.com:用户名/仓库名.git |
说明:
origin:远程仓库默认名-u:建立本地和远程分支跟踪关系
📥 克隆远程仓库
1 | git clone git@github.com:用户名/仓库名.git |
克隆到指定目录:
1 | git clone git@github.com:用户名/仓库名.git my-project |
⚡ 常用命令速查
🔎 看状态 / 看历史
1 | git status |
📌 暂存 / 提交
1 | git add . |
git commit --amend:修改最近一次提交。
🪞 查看差异
1 | git diff |
🌿 分支操作
1 | git branch |
小抄:
git switch:更适合切分支git checkout:老牌多功能选手-d:安全删除-D:强制删除
☁️ 远程相关
1 | git remote -v |
🧹 撤销与恢复
撤销工作区修改:
1 | git restore 文件名 |
撤销暂存区:
1 | git restore --staged 文件名 |
回退提交:
1 | git reset --soft HEAD~1 |
区别:
--soft:回退提交,保留暂存区和工作区--mixed:回退提交和暂存区,保留工作区--hard:全部回退,危险
反向生成一次新提交:
1 | git revert 提交哈希 |
🧳 暂存现场
1 | git stash |
🔁 常见协作流程
日常提交
1 | git status |
拉取最新代码
1 | git pull |
更稳一点的拆开写法:
1 | git fetch |
新功能分支开发
1 | git switch -c feature/login |
合并分支
1 | git switch main |
🏷️ 提交信息怎么写
常见前缀:
1 | feat: 新功能 |
示例:
1 | git commit -m "feat: add user login" |
🩹 常见问题排查
❌ git 命令找不到
先试:
1 | git --version |
如果不行,排查:
- Git 是否安装成功
- 终端是否重新打开
- 环境变量里是否有 Git
❌ SSH 测试失败
检查本地 key:
1 | ls ~/.ssh |
检查 agent 里有没有加载:
1 | ssh-add -l |
重新添加:
1 | ssh-add ~/.ssh/id_ed25519 |
详细调试:
1 | ssh -vT git@github.com |
❌ 推送时报 Permission denied (publickey)
按这个顺序排查:
- 本地有没有 SSH key
- 公钥有没有加到 GitHub
- 远程地址是不是 SSH 格式
ssh-agent有没有加载私钥~/.ssh/config有没有写错
查看远程地址:
1 | git remote -v |
SSH 格式应类似:
1 | git@github.com:用户名/仓库名.git |
如果当前是 HTTPS,可切换成 SSH:
1 | git remote set-url origin git@github.com:用户名/仓库名.git |
⚔️ 合并冲突
手动处理冲突文件后:
1 | git add . |
查看当前状态:
1 | git status |
🧷 最常用命令清单
1 | git --version |
🎯 推荐记忆顺序
先记这 8 个:
1 | git clone |
再补这些:
1 | git diff |
🚀 新电脑初始化顺序
推荐照这个顺序来:
- 安装 Git
git --version- 配置
user.name和user.email - 生成 SSH key
- 添加到 GitHub
- 测试 SSH
git clone一个仓库试跑
命令版:
1 | git --version |
🔗 官方参考
- Git Windows 安装:https://git-scm.com/install/windows
- Git 安装总入口:https://git-scm.com/install/
- Git 安装说明:https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
- GitHub SSH 总入口:https://docs.github.com/en/authentication/connecting-to-github-with-ssh
- 生成 SSH key:https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
- 添加 SSH key:https://docs.github.com/articles/adding-a-new-ssh-key-to-your-github-account
- 测试 SSH 连接:https://docs.github.com/en/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection
🪄 终极超短版
只看最精简流程的话,就是这几步:
1 | git config --global user.name "你的名字" |
然后日常:
1 | git add . |




