第1章:什么是 GitHub?🐙
在开始使用之前,先搞清楚:GitHub 到底是什么?为什么全世界程序员都在用?
📋 目录
Git 和 GitHub 的区别
这是最常见的困惑!
简单比喻
| 概念 | 比喻 | 作用 |
|---|---|---|
| Git | 笔记本 | 记录你的每一次修改 |
| GitHub | 云盘 + 社交网络 | 把笔记上传到云端,让别人也能看到和协作 |
详细解释
Git
- 🛠️ 是一个软件/工具,安装在你的电脑上
- 📝 是一个版本控制系统,记录代码的每一次修改
- 💻 可以离线使用,不需要联网
# Git 的基本操作(在本地进行)
git init # 初始化一个仓库
git add . # 添加文件到暂存区
git commit -m "提交信息" # 提交修改
GitHub
- 🌍 是一个网站/平台,在云端运行
- ☁️ 是一个 Git 仓库托管服务,把你的代码上传到云端
- 🤝 是一个社交平台,让多人协作成为可能
GitHub 做的事情:
1. 存储你的 Git 仓库(在云端备份)
2. 提供网页界面,让你不用命令行也能操作
3. 提供协作功能(Pull Request、Issues、Projects)
4. 提供社交功能(Star、Follow、Fork)
关系图
你的电脑
│
│ git push(上传)
▼
GitHub 云端
│
│ git pull(下载)
▼
同事的电脑
GitHub 是做什么的?
核心功能
1️⃣ 代码托管
作用:把你的代码安全地保存在云端。
为什么需要?
- ✅ 防止本地硬盘损坏导致代码丢失
- ✅ 可以在多台电脑上工作(公司 + 家里)
- ✅ 别人可以访问你的代码
2️⃣ 版本控制
作用:记录代码的每一次修改,可以随时”时光倒流”。
场景:
# 你修改了代码,但改坏了...
# 不用担心!可以回退到修改前的版本
git log # 查看历史记录
git reset --hard HEAD~1 # 回退到上一个版本
3️⃣ 多人协作
作用:让多个人同时开发一个项目。
核心机制:
- 🌿 分支(Branch):每个人在自己的分支上工作,互不干扰
- 🔀 合并(Merge):把多个人的修改合并到一起
- 📝 Pull Request:代码审查机制,确保合并的代码质量
4️⃣ 开源社区
作用:让全世界的开发者一起参与项目。
典型流程(以 Linux 为例):
- 🌍 全世界有成千上万的开发者
- 🍴 有人 Fork 了 Linux 仓库
- ✏️ 修改代码,修复 Bug
- 🔀 提交 Pull Request 给 Linus Torvalds(Linux 创始人)
- ✅ 审查通过后,合并到主分支
为什么要使用 GitHub?
对初学者
| 理由 | 说明 |
|---|---|
| 学习优秀代码 | 可以免费看到全世界最优秀的开源项目代码 |
| 建立作品集 | 你的 GitHub 就是你的编程作品集,招聘官会看! |
| 参与开源 | 为喜欢的项目贡献代码,提升技术 |
| 获得帮助 | 在 Issues 中提问,社区会帮你解答 |
对专业开发者
| 理由 | 说明 |
|---|---|
| 团队协作 | 公司项目都在 GitHub 上,必须会用 |
| 代码审查 | Pull Request 机制确保代码质量 |
| CI/CD | GitHub Actions 自动测试、构建、部署 |
| 项目管理 | Issues、Projects、Milestones 让开发有条不紊 |
对企业
| 理由 | 说明 |
|---|---|
| 降低风险 | 代码在云端有备份,不怕服务器损坏 |
| 提高效率 | 自动化流程减少人工操作 |
| 吸引人才 | 开源项目能吸引顶级开发者加入 |
| 建立品牌 | 在 GitHub 上开源项目,提升公司技术形象 |
GitHub 的发展历程
📅 关键时间节点
| 年份 | 事件 |
|---|---|
| 2008 | Tom Preston-Werner 和 Chris Wanstrath 创立 GitHub |
| 2012 | 获得 a16z 投资,估值 7.5 亿美元 |
| 2018 | 被微软以 75 亿美元收购 |
| 2019 | 免费用户提供私有仓库(无限) |
| 2020 | GitHub Actions 上线,CI/CD 成为核心功能 |
| 2023 | Copilot(AI 编程助手)全面开放 |
📊 规模数据(截至 2026年)
| 指标 | 数据 |
|---|---|
| 注册用户 | 超过 1 亿 |
| 仓库数量 | 超过 3 亿个 |
| 企业客户 | 超过 500 万 |
| daily 活跃用户 | 超过 4000 万 |
谁在使用 GitHub?
科技巨头
| 公司 | 开源项目示例 |
|---|---|
| TensorFlow、Angular、Flutter | |
| Microsoft | VS Code、TypeScript、.NET |
| Facebook/Meta | React、PyTorch |
| 阿里巴巴 | Dragonfly、FastJSON |
| 腾讯 | TDesign、TMagicEditor |
知名开源项目
| 项目 | Star 数 | 用途 |
|---|---|---|
| Linux | 180k+ | 操作系统内核 |
| React | 220k+ | 前端 UI 框架 |
| VS Code | 140k+ | 代码编辑器 |
| Rust | 96k+ | 编程语言 |
个人开发者
不只是公司,很多个人开发者也在 GitHub 上:
- 🌟 发布自己的开源项目
- 📚 学习别人的代码
- 💼 展示自己的技术能力(找工作)
GitHub vs 其他平台
对比 GitLab
| 特性 | GitHub | GitLab |
|---|---|---|
| 用户数 | 更多 | 较少 |
| 界面 | 更简洁 | 功能更丰富 |
| 私有部署 | 需要企业版 | 开源版可自部署 |
| CI/CD | Actions(易用) | CI/CD(功能更强) |
| 适合 | 开源项目、个人 | 企业内网、私有部署 |
对比 Gitee(码云)
| 特性 | GitHub | Gitee |
|---|---|---|
| 服务器位置 | 国外 | 国内 |
| 访问速度 | 较慢(需要代理) | 快 |
| 用户数 | 全球最大 | 中国为主 |
| 开源项目 | 最丰富 | 较少 |
| 适合 | 国际项目 | 国内项目、中国开发者 |
对比 Bitbucket
| 特性 | GitHub | Bitbucket |
|---|---|---|
| 免费私有仓库 | ✅ 有 | ✅ 有 |
| Jira 集成 | 需要配置 | 原生支持 |
| 适合 | 开源项目 | Atlassian 生态用户 |
常见问题
Q1: 我是新手,需要先学 Git 还是直接用 GitHub?
A: 建议 先了解 Git 的基本概念,但不需要精通。
学习路径:
- 先学会基本的
git clone、git add、git commit、git push - 直接开始用 GitHub,边用边学
- 遇到问题再查文档
💡 提示:本书的 第6章:提交更改 会手把手教你 Git 基础操作。
Q2: GitHub 是免费的吗?
A: 基本功能完全免费!
| 功能 | 免费 | 付费 |
|---|---|---|
| 公开仓库 | ✅ 无限 | - |
| 私有仓库 | ✅ 无限 | - |
| GitHub Actions(CI/CD) | ✅ 每月 2000 分钟 | 更多分钟数 |
| GitHub Pages | ✅ 免费 | - |
| 高级安全功能 | ❌ | ✅ |
| 企业功能 | ❌ | ✅ |
结论:个人使用,免费版完全够用!
Q3: 我的代码上传到 GitHub,会不会被偷?
A: 取决于你是放在 公开仓库 还是 私有仓库。
| 仓库类型 | 谁能看? | 风险 |
|---|---|---|
| 公开仓库 | 所有人 | 代码会被看到,但有开源协议保护 |
| 私有仓库 | 只有你和你邀请的人 | 不会被偷 |
建议:
- ✅ 敏感项目(公司代码、未发布的产品)→ 使用私有仓库
- ✅ 想展示的项目(个人作品、开源工具)→ 使用公开仓库
- ✅ 记得加上 LICENSE 文件,明确别人可以怎么用你的代码
Q4: GitHub 会被封号吗?中国大陆用户能用吗?
A:
- ✅ 中国大陆用户可以正常使用 GitHub
- ✅ GitHub 没有被墙(访问速度可能较慢)
- ⚠️ 注意:不要滥用(如刷 Star、恶意攻击),否则可能被封号
加速访问的方法:
- 使用代理(VPN)
- 使用镜像站(如 https://github.com.cn/)
- 使用 GitHub CLI 的代理配置
Q5: 学完这本书,我能达到什么水平?
A: 按章节学习完,你将能够:
| 阶段 | 能力 |
|---|---|
| 第1-4章(新手入门) | 注册账号、创建仓库、下载代码 |
| 第5-8章(基础操作) | 日常提交代码、管理分支 |
| 第9-12章(团队协作) | 给开源项目贡献代码、管理团队项目 |
| 第13-16章(社交功能) | 运营自己的开源项目 |
| 第17-20章(AI与自动化) | 使用 Token、配置 CI/CD |
| 第21-24章(网络安全) | 保护账号和代码安全 |
| 第25-28章(资深玩家) | 使用高级功能、开发 GitHub 工具 |
📝 实战练习
练习1:探索 GitHub 首页
任务:
- 打开 github.com 首页
- 不登录,浏览 Explore 页面,找 3 个你感兴趣的项目
- 观察每个项目的 Star 数、Fork 数、主要语言
练习2:了解 Git 和 GitHub 的关系
任务:
- 在电脑上安装 Git(如未安装)
- 打开终端,运行
git --version确认安装成功 - 用自己的话,给朋友解释”Git 和 GitHub 有什么区别”(一句话说清即可)
练习3:浏览 GitHub 趋势
任务:
- 打开 GitHub Trending
- 找到今日排名第一的项目
- 浏览它的 README,了解它是做什么的
📝 本章小结
你现在了解了:
- ✅ Git 和 GitHub 的区别
- ✅ GitHub 的核心功能和价值
- ✅ 为什么要用 GitHub
- ✅ GitHub 与其他平台的对比
- ✅ 常见问题的解答