跳转至

GitHub Pages 部署教程

说明

  • 目的:为参与者提供GitHub Pages的详细部署指南
  • 适用场景:静态网站部署,已有GitHub账号的参与者
  • 难度:⭐⭐⭐ 中等
  • 预计时间:30-60分钟
  • 特点:完全免费,与GitHub集成,适合静态网站

什么是GitHub Pages?

基本介绍

  • 服务商:GitHub (Microsoft)
  • 产品定位:免费的静态网站托管服务
  • 核心优势
  • ✅ 完全免费
  • ✅ 与GitHub仓库集成
  • ✅ 支持自定义域名
  • ✅ 版本控制集成
  • ✅ 自动部署(推送代码即部署)

适用场景

  • 静态网站:HTML、CSS、JavaScript
  • Jekyll网站:支持Jekyll静态网站生成器
  • 文档网站:适合文档类网站
  • 个人作品集:适合个人作品展示
  • 项目展示:适合项目展示页面

限制说明

  • ⚠️ 仅支持静态网站:不支持服务器端代码(PHP、Python等)
  • ⚠️ 需要翻墙:国内访问需要翻墙
  • ⚠️ 访问速度:国内访问速度可能较慢

部署前准备

1. GitHub账号准备

1.1 注册GitHub账号

  1. 访问GitHub官网
  2. 网址:https://github.com
  3. 点击"Sign up"

  4. 填写注册信息

  5. 用户名
  6. 邮箱
  7. 密码
  8. 验证码验证

  9. 验证邮箱

  10. 查收验证邮件
  11. 点击验证链接
  12. 完成账号验证

1.2 安装Git(如需要)

  1. 下载Git
  2. Windows:https://git-scm.com/download/win
  3. Mac:https://git-scm.com/download/mac
  4. Linux:使用包管理器安装

  5. 安装Git

  6. 按照安装向导完成安装
  7. 验证安装:git --version

  8. 配置Git

    git config --global user.name "Your Name"
    git config --global user.email "your.email@example.com"
    


2. 项目准备

2.1 准备静态网站文件

  • HTML文件:准备好HTML文件
  • CSS文件:准备好样式文件
  • JavaScript文件:准备好脚本文件
  • 资源文件:图片、字体等资源文件

2.2 项目结构示例

my-project/
├── index.html          # 主页面(必需)
├── css/
│   └── style.css       # 样式文件
├── js/
│   └── main.js         # JavaScript文件
├── images/
│   └── logo.png        # 图片资源
└── README.md           # 项目说明(可选)

2.3 注意事项

  • index.html必需:必须有index.html作为首页
  • 文件路径:使用相对路径,不要使用绝对路径
  • 文件大小:单个文件不超过100MB
  • 仓库大小:仓库总大小不超过1GB

部署步骤(详细)

方法1:通过GitHub网页部署(最简单)

步骤1:创建新仓库

  1. 登录GitHub
  2. 访问 https://github.com
  3. 使用账号登录

  4. 创建新仓库

  5. 点击右上角"+" → "New repository"
  6. 填写仓库信息:
    • Repository name:输入仓库名称(例如:my-website)
    • Description:输入描述(可选)
    • Public / Private:选择Public(GitHub Pages需要Public仓库)
    • 不要勾选"Initialize this repository with a README"
  7. 点击"Create repository"

步骤2:上传文件

  1. 准备文件
  2. 整理好HTML文件和资源文件
  3. 确保有index.html文件

  4. 上传文件

  5. 在仓库页面,点击"uploading an existing file"
  6. 拖拽文件到上传区域
  7. 或点击"choose your files"选择文件
  8. 填写提交信息(例如:Initial commit)
  9. 点击"Commit changes"

步骤3:启用GitHub Pages

  1. 进入仓库设置
  2. 点击仓库页面的"Settings"
  3. 在左侧菜单找到"Pages"

  4. 配置Pages

  5. Source:选择"Deploy from a branch"
  6. Branch:选择"main"(或"master")
  7. Folder:选择"/ (root)"
  8. 点击"Save"

  9. 等待部署

  10. 等待几分钟让GitHub部署
  11. 部署完成后会显示访问链接
  12. 链接格式:https://username.github.io/repository-name

步骤4:访问网站

  1. 获得访问链接
  2. 在Settings → Pages页面查看链接
  3. 或访问:https://username.github.io/repository-name

  4. 验证部署

  5. 在浏览器中打开链接
  6. 确认内容正确显示
  7. 测试所有功能

方法2:通过Git命令行部署(推荐,适合有Git经验的用户)

步骤1:初始化Git仓库

  1. 打开终端/命令行
  2. Windows:PowerShell 或 CMD
  3. Mac:Terminal
  4. Linux:Terminal

  5. 进入项目目录

    cd /path/to/your/project
    

  6. 初始化Git仓库

    git init
    

步骤2:添加文件

  1. 添加所有文件

    git add .
    

  2. 提交文件

    git commit -m "Initial commit"
    

步骤3:连接GitHub仓库

  1. 创建GitHub仓库(如未创建)
  2. 在GitHub上创建新仓库
  3. 不要初始化README

  4. 添加远程仓库

    git remote add origin https://github.com/username/repository-name.git
    

  5. 推送到GitHub

    git branch -M main
    git push -u origin main
    

步骤4:启用GitHub Pages

  1. 在GitHub上启用Pages
  2. 进入仓库Settings → Pages
  3. Source选择"Deploy from a branch"
  4. Branch选择"main"
  5. Folder选择"/ (root)"
  6. 点击"Save"

  7. 等待部署

  8. 等待几分钟让GitHub部署
  9. 部署完成后访问链接

步骤5:更新网站

  1. 修改文件
  2. 在本地修改文件

  3. 提交更改

    git add .
    git commit -m "Update website"
    git push
    

  4. 自动部署

  5. GitHub会自动重新部署
  6. 等待几分钟后访问更新后的网站

方法3:使用GitHub Desktop(图形界面,适合新手)

步骤1:安装GitHub Desktop

  1. 下载GitHub Desktop
  2. 网址:https://desktop.github.com
  3. 下载对应系统的版本

  4. 安装GitHub Desktop

  5. 按照安装向导完成安装
  6. 登录GitHub账号

步骤2:创建仓库

  1. 在GitHub Desktop中创建仓库
  2. 点击"File" → "New repository"
  3. 填写仓库信息
  4. 选择本地路径
  5. 点击"Create repository"

步骤3:添加文件

  1. 准备文件
  2. 在本地项目文件夹中准备文件
  3. 确保有index.html

  4. 在GitHub Desktop中添加文件

  5. 文件会自动显示在GitHub Desktop中
  6. 填写提交信息
  7. 点击"Commit to main"

步骤4:推送到GitHub

  1. 推送文件
  2. 点击"Push origin"
  3. 等待推送完成

步骤5:启用GitHub Pages

  1. 在GitHub网页上启用Pages
  2. 访问仓库页面
  3. Settings → Pages
  4. 配置Pages设置
  5. 保存

部署后管理

1. 更新网站

方法1:通过GitHub网页更新

  1. 编辑文件
  2. 在GitHub仓库页面点击文件
  3. 点击"Edit"按钮
  4. 修改内容
  5. 填写提交信息
  6. 点击"Commit changes"

  7. 自动部署

  8. GitHub会自动重新部署
  9. 等待几分钟后访问更新后的网站

方法2:通过Git命令行更新

git add .
git commit -m "Update website"
git push

方法3:通过GitHub Desktop更新

  1. 修改文件
  2. 在GitHub Desktop中提交
  3. 推送到GitHub

2. 自定义域名(可选)

步骤1:购买域名

  • 在域名注册商购买域名
  • 记录域名信息

步骤2:配置DNS

  1. 添加CNAME记录
  2. 在域名DNS设置中添加CNAME记录
  3. 名称:@ 或 www
  4. 值:username.github.io

步骤3:在GitHub Pages中配置

  1. 添加自定义域名
  2. 在Settings → Pages中
  3. 在"Custom domain"中输入域名
  4. 点击"Save"

  5. 等待生效

  6. 等待DNS生效(通常几分钟到几小时)
  7. 验证域名访问

3. 使用Jekyll(可选)

什么是Jekyll?

  • Jekyll:静态网站生成器
  • 优势:支持Markdown、模板、插件等
  • 适用场景:博客、文档网站等

如何使用Jekyll?

  1. 创建Jekyll网站
  2. 使用Jekyll模板
  3. 或从头创建

  4. 推送到GitHub

  5. 将Jekyll网站推送到GitHub仓库

  6. 自动构建

  7. GitHub Pages会自动构建Jekyll网站
  8. 无需额外配置

常见问题解决

问题1:404错误

可能原因

  • index.html文件不存在
  • 文件路径错误
  • 部署未完成

解决方法

  1. 检查index.html
  2. 确保有index.html文件
  3. 确保文件在根目录

  4. 检查文件路径

  5. 使用相对路径
  6. 检查路径是否正确

  7. 等待部署

  8. 等待几分钟让GitHub部署
  9. 清除浏览器缓存

问题2:样式或脚本不加载

可能原因

  • 文件路径错误
  • 文件未上传
  • 缓存问题

解决方法

  1. 检查文件路径
  2. 使用相对路径
  3. 检查路径是否正确

  4. 检查文件

  5. 确认所有文件都已上传
  6. 检查文件内容

  7. 清除缓存

  8. 清除浏览器缓存
  9. 使用无痕模式访问

问题3:国内无法访问

可能原因

  • GitHub Pages需要翻墙
  • DNS解析问题

解决方法

  1. 使用翻墙工具
  2. 使用VPN或代理
  3. 配置代理设置

  4. 使用CDN加速(如需要)

  5. 使用CDN服务加速访问
  6. 或使用其他部署平台

问题4:更新不生效

可能原因

  • 缓存问题
  • 部署未完成
  • 文件未提交

解决方法

  1. 清除缓存
  2. 清除浏览器缓存
  3. 使用无痕模式访问

  4. 检查部署状态

  5. 在Settings → Pages查看部署状态
  6. 等待部署完成

  7. 检查文件

  8. 确认文件已提交
  9. 检查提交历史

最佳实践

1. 项目结构

  • 清晰的目录结构:组织好文件结构
  • 命名规范:使用有意义的文件名
  • README文件:添加README说明项目

2. 代码优化

  • 代码压缩:压缩HTML、CSS、JavaScript
  • 图片优化:优化图片大小
  • 性能优化:提高加载速度

3. 版本控制

  • 使用Git:使用Git管理代码
  • 提交信息:写清晰的提交信息
  • 分支管理:使用分支管理不同版本

4. 文档维护

  • README:维护README文档
  • 注释:添加代码注释
  • 更新日志:记录更新内容

与其他平台对比

GitHub Pages vs Vercel

特性 GitHub Pages Vercel
免费额度 ✅ 完全免费 ✅ 有免费额度
部署难度 ⭐⭐⭐ 中等 ⭐⭐⭐⭐⭐ 最简单
国内可用性 ⚠️ 需翻墙 ⚠️ 需翻墙
访问速度 ⭐⭐⭐ 一般 ⭐⭐⭐ 一般
适用场景 静态网站 静态+动态网站
版本控制 ✅ 集成Git ✅ 集成Git

GitHub Pages vs EdgeOne Pages

特性 GitHub Pages EdgeOne Pages
免费额度 ✅ 完全免费 需查看
部署难度 ⭐⭐⭐ 中等 ⭐⭐⭐ 简单
国内可用性 ⚠️ 需翻墙 ✅ 可用
访问速度 ⭐⭐⭐ 一般 ⭐⭐⭐⭐⭐ 快
适用场景 静态网站 静态网站
版本控制 ✅ 集成Git ⚠️ 需手动管理

选择建议

  • 已有GitHub账号:使用GitHub Pages
  • 需要版本控制:使用GitHub Pages
  • 需要国内访问:使用EdgeOne Pages
  • 需要最简单部署:使用Vercel

参考资源

官方文档

相关文档


下一步

完成部署后

  1. 验证部署:确认网站正常访问
  2. 分享链接:分享给朋友和同事
  3. 持续更新:根据需求更新内容

学习更多

  1. 阅读官方文档:了解更多功能
  2. 尝试Jekyll:使用Jekyll创建更复杂的网站
  3. 自定义域名:配置自定义域名
  4. 参与社区:加入GitHub社区

最后更新:2024年12月11日