Appearance
GitHub 项目配置与密钥管理终极教程
适用于两种场景:
1️⃣ 在全新电脑上配置 Git 并上传新项目到 GitHub;
2️⃣ 更换电脑后继续开发已有 GitHub 项目。本文示例项目名:
awesome-project。
包含 SSH 密钥生成、Git 配置、远程仓库关联、自动化脚本建议、安全清理说明与常见命令说明。
一、场景 1:全新电脑上传新项目到 GitHub
适用于首次在电脑上配置 Git 并将本地项目上传到 GitHub 的场景。
1. 安装 Git
- 前往官网:https://git-scm.com/downloads
- 安装完成后验证:bash出现版本号表示成功。
git --version
2. 配置 Git 全局信息(仅首次)
bash
git config --global user.name "YourGitHubUsername"
git config --global user.email "your-email@example.com"- 这两项配置会写入
~/.gitconfig文件; --global表示全局生效,所有项目默认使用该配置。
3. 生成 SSH 密钥并配置 GitHub
3.1 生成密钥对
bash
ssh-keygen -t ed25519 -C "your-email@example.com"- 推荐算法:
ed25519(安全且简洁) - 默认保存路径:
- Windows:
C:\Users\你的用户名\.ssh\ - Linux/macOS:
~/.ssh/
- Windows:
- 生成后得到:
id_ed25519(私钥,勿泄露)id_ed25519.pub(公钥,用于上传 GitHub)
3.2 复制公钥
- Windows:bash
type C:\Users\你的用户名\.ssh\id_ed25519.pub - Linux/macOS:bash
cat ~/.ssh/id_ed25519.pub
复制完整输出。
3.3 在 GitHub 添加公钥
- 登录 GitHub → 右上角头像 → Settings → SSH and GPG keys。
- 点击
New SSH key。 - Title 填设备名(如“家用电脑”)。
- Key 栏粘贴公钥内容。
- 点击 Add SSH key。
3.4 测试连接
bash
ssh -T git@github.com若提示:
Hi YourGitHubUsername! You've successfully authenticated.
则配置成功。
4. 创建远程仓库
- 登录 GitHub → 点击右上角
+→ New repository。 - 仓库名输入
awesome-project。 - 可选勾选 “Add a README file”。
- 创建后复制仓库 SSH 地址,例如:
git@github.com:YourGitHubUsername/awesome-project.git
5. 初始化并上传本地项目
bash
mkdir awesome-project && cd awesome-project
git init
echo "# awesome-project" > README.md
git add .
git commit -m "Initial commit: 初始化项目"
git remote add origin git@github.com:YourGitHubUsername/awesome-project.git
git push -u origin main✅ 上传成功后,刷新 GitHub 即可看到文件。
💡 实用建议:自动化推送脚本
在项目目录下通常会创建一个小型自动化脚本(如 push.sh 或 push.bat),将常用命令整合为一键执行。例如:
bash
#!/bin/bash
git add .
git commit -m "Auto update"
git push origin main
echo "✅ 项目已成功推送至 GitHub"Windows 用户可将其改写为 push.bat:
bat
@echo off
git add .
git commit -m "Auto update"
git push origin main
echo 项目已成功推送到 GitHub这样日常更新只需双击脚本或执行 ./push.sh 即可,大幅提升效率。
二、场景 2:新电脑继续开发已有 GitHub 项目
适用于 GitHub 已有项目,更换电脑后继续开发的情况。
1. 基础配置
与场景 1 的前两步相同:安装 Git、配置用户名和邮箱。
2. SSH 密钥方案
方案 A:新电脑生成新密钥(推荐)
- 按场景 1 的第 3 步重新生成并上传新公钥。
- 优点:密钥与设备绑定,便于后续管理与撤销。
方案 B:复用旧密钥(应急)
- 从旧电脑复制
.ssh文件夹。 - 粘贴到新电脑同路径下:
- Windows:
C:\Users\新用户名\.ssh\ - Linux/macOS:
~/.ssh/
- Windows:
- 设置权限(Linux/macOS):bash
chmod 600 ~/.ssh/id_ed25519 chmod 644 ~/.ssh/id_ed25519.pub - 测试 SSH 连接。
3. 克隆已有仓库
bash
git clone git@github.com:YourGitHubUsername/awesome-project.git
cd awesome-project说明:git clone 会自动设置远程仓库(无需再执行 git remote add)。
4. 验证与继续开发
bash
git remote -v
echo "test from new device" > test.txt
git add .
git commit -m "Add test file from new device"
git push origin main推送成功即代表配置完成。可同样创建自动化脚本简化操作。
三、关键命令说明(局部作用)
| 命令 | 功能 | 作用范围 |
|---|---|---|
git remote add origin <URL> | 为当前项目设置远程仓库 | 仅当前项目有效 |
git reset --hard HEAD | 回退到最新提交,丢弃未提交修改 | 仅当前项目有效 |
eval "$(ssh-agent -s)" / ssh-add ~/.ssh/id_ed25519 | 启动 SSH 代理并加载私钥 | 当前终端会话有效 |
四、安全清理与旧电脑处理建议
当你更换或弃用旧电脑时,应当彻底清除与 GitHub 相关的敏感文件与凭证,以防止他人通过旧设备访问你的代码仓库。
1. 必须删除的敏感文件与目录
| 文件/目录 | 说明 |
|---|---|
~/.ssh/(或 C:\Users\用户名\.ssh\) | 存放私钥与公钥,务必删除整个文件夹。 |
~/.gitconfig | Git 全局配置文件,包含用户名、邮箱等信息。 |
项目目录下的 .git/ 文件夹 | 若要彻底清除版本历史或转移电脑,可删除此隐藏目录。 |
自动化脚本文件(如 push.sh、push.bat) | 若含个人仓库地址或账号信息,也应删除或清理。 |
2. 推荐的附加安全操作
- 在 GitHub → Settings → SSH and GPG keys 中,删除旧电脑对应的公钥记录;
- 若使用过 个人访问令牌(PAT) 或 HTTPS 登录方式,请在 GitHub → Developer settings → Tokens 中撤销旧令牌;
- 清理操作后,建议重新登录 GitHub 验证是否安全;
- 若设备已出售或转让,建议彻底格式化用户目录。
五、进阶优化:SSH 自动加载
Linux / macOS(添加至 .bashrc 或 .zshrc)
bash
if [ -z "$SSH_AUTH_SOCK" ]; then
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519 2>/dev/null
fi每次打开终端自动加载私钥。
Windows Git Bash
同样在 ~/.bash_profile 添加上述内容。
六、常见问题
- Permission denied (publickey) → 重新执行
ssh-add ~/.ssh/id_ed25519。 - 私钥泄露 → 删除 GitHub 上的对应公钥,重新生成新密钥。
- 多设备开发 → 每台电脑都可独立生成并添加公钥。
- 旧电脑处理安全提醒 → 更换电脑前,务必删除
.ssh/与.gitconfig等敏感文件。
七、命令速查表(Cheat Sheet)
| 操作 | 命令 |
|---|---|
| 查看 Git 版本 | git --version |
| 设置用户名邮箱 | git config --global user.name/email |
| 生成密钥 | ssh-keygen -t ed25519 -C "email" |
| 测试 SSH 连接 | ssh -T git@github.com |
| 初始化仓库 | git init |
| 添加远程仓库 | git remote add origin <SSH_URL> |
| 推送 | git push -u origin main |
| 克隆项目 | git clone <SSH_URL> |
| 重置修改 | git reset --hard HEAD |
八、图示版结构概要
text
┌───────────────────────────────┐
│ GitHub 项目全流程图 │
└───────────────────────────────┘
│
▼
① 安装 Git → 配置用户名邮箱
│
▼
② 生成 SSH 密钥 → 上传公钥至 GitHub
│
▼
③ 测试连接 ssh -T git@github.com
│
├── 新项目上传流程 ───────────────▶ 初始化项目 → 添加远程 → 提交推送 → 一键脚本自动上传
│
└── 旧项目继续开发 ───────────────▶ 克隆仓库 → 修改提交 → 自动化脚本推送同步
│
▼
④ 验证配置成功 → 安全清理旧设备 → 开始开发与协作✅ 总结: 本文提供了 Git 环境配置、SSH 密钥管理、自动化推送脚本、安全清理策略与多设备开发的完整方案,可作为长期安全、标准化的 GitHub 参考手册。
