Skip to content

GitHub 项目配置与密钥管理终极教程

适用于两种场景:
1️⃣ 在全新电脑上配置 Git 并上传新项目到 GitHub;
2️⃣ 更换电脑后继续开发已有 GitHub 项目。

本文示例项目名:awesome-project
包含 SSH 密钥生成、Git 配置、远程仓库关联、自动化脚本建议、安全清理说明与常见命令说明。


一、场景 1:全新电脑上传新项目到 GitHub

适用于首次在电脑上配置 Git 并将本地项目上传到 GitHub 的场景。

1. 安装 Git


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/
  • 生成后得到:
    • 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 添加公钥

  1. 登录 GitHub → 右上角头像 → Settings → SSH and GPG keys。
  2. 点击 New SSH key
  3. Title 填设备名(如“家用电脑”)。
  4. Key 栏粘贴公钥内容。
  5. 点击 Add SSH key

3.4 测试连接

bash
ssh -T git@github.com

若提示:

Hi YourGitHubUsername! You've successfully authenticated.

则配置成功。


4. 创建远程仓库

  1. 登录 GitHub → 点击右上角 + → New repository。
  2. 仓库名输入 awesome-project
  3. 可选勾选 “Add a README file”。
  4. 创建后复制仓库 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.shpush.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:复用旧密钥(应急)

  1. 从旧电脑复制 .ssh 文件夹。
  2. 粘贴到新电脑同路径下:
    • Windows:C:\Users\新用户名\.ssh\
    • Linux/macOS:~/.ssh/
  3. 设置权限(Linux/macOS):
    bash
    chmod 600 ~/.ssh/id_ed25519
    chmod 644 ~/.ssh/id_ed25519.pub
  4. 测试 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\存放私钥与公钥,务必删除整个文件夹
~/.gitconfigGit 全局配置文件,包含用户名、邮箱等信息。
项目目录下的 .git/ 文件夹若要彻底清除版本历史或转移电脑,可删除此隐藏目录。
自动化脚本文件(如 push.shpush.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 添加上述内容。


六、常见问题

  1. Permission denied (publickey) → 重新执行 ssh-add ~/.ssh/id_ed25519
  2. 私钥泄露 → 删除 GitHub 上的对应公钥,重新生成新密钥。
  3. 多设备开发 → 每台电脑都可独立生成并添加公钥。
  4. 旧电脑处理安全提醒 → 更换电脑前,务必删除 .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 参考手册。

采用 CC BY-NC-ND 4.0 许可。欢迎邮件反馈(zslinux@qq.com)