GitHub是全球最大的代码托管平台,也是程序员必备工具。本文从注册到高级功能,带你全面掌握GitHub。
一、注册与基础设置
1. 注册账号
- 访问 github.com 注册
- 建议使用Gmail注册
- 设置双重认证(2FA)保护账号安全
2. 配置SSH Key
# 生成SSH密钥
ssh-keygen -t ed25519 -C "your_email@example.com"
# 启动ssh-agent
eval "$(ssh-agent -s)"
# 添加密钥
ssh-add ~/.ssh/id_ed25519
# 复制公钥(粘贴到GitHub Settings -> SSH Keys)
cat ~/.ssh/id_ed25519.pub
二、Git基础命令
# 初始化仓库
git init
# 克隆远程仓库
git clone git@github.com:user/repo.git
# 添加文件到暂存区
git add .
# 提交更改
git commit -m "feat: 添加新功能"
# 推送到远程
git push origin main
# 拉取最新代码
git pull origin main
三、分支管理
# 创建并切换分支
git checkout -b feature/new-feature
# 查看所有分支
git branch -a
# 合并分支
git checkout main
git merge feature/new-feature
# 删除分支
git branch -d feature/new-feature
四、GitHub特色功能
1. Pull Request(PR)
代码协作的核心:
- 从main分支创建feature分支
- 在feature分支开发并推送
- 在GitHub上创建PR
- 团队成员Review代码
- 合并到main分支
2. Issues
项目管理和bug追踪:
- 创建Issue报告bug
- 使用标签分类(bug、feature、enhancement)
- 关联PR自动关闭Issue
3. GitHub Actions
CI/CD自动化:
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm install
- run: npm test
4. GitHub Pages
免费静态网站托管:
- 仓库Settings -> Pages
- 选择main分支的/docs目录或根目录
- 自动获得 yourusername.github.io 域名
五、高级技巧
1. .gitignore
忽略不需要版本控制的文件:
# node_modules/
# .env
# *.log
# dist/
# .DS_Store
2. Git Hooks
使用husky设置Git钩子:
npx husky init
echo "npm run lint" > .husky/pre-commit
3. GitHub Copilot
AI编程助手,免费学生可用:
- 自动代码补全
- 根据注释生成代码
- 解释复杂代码
六、最佳实践
- 提交信息遵循Conventional Commits规范
- 一个PR只做一件事
- PR描述清楚说明改了什么、为什么改
- 保护main分支,要求PR审核
- 使用GitHub Projects管理任务
总结
掌握GitHub是现代程序员的基本功。从基础的Git命令到高级的Actions和Copilot,持续学习和实践才能精通。