GitHub 使用指南:从零开始掌握世界上最好的协作工具
引言 (Introduction)
- 痛点切入: 你是否曾被“最终版_v3版.docx”这样的文件命名困扰?是否想和他人共同完成一个项目,却只能通过邮件传来传去?
- 破除迷思: GitHub 不仅仅是程序员的专属工具。它是一个强大的项目管理和协作平台,适合作家、学生、设计师,以及任何想要清晰地记录项目进程的人。
- 文章目标: 本文将带你从零开始,轻松上手 GitHub,让你也能利用它来管理你的个人项目、与人协作,甚至搭建免费的个人网站。

概况 (Overview)
- GitHub 是什么?
- 一个项目的“家”,可以存放所有相关文件、想法和历史记录。
- 把它想象成一个带有时光机的 Google Docs,你可以随时回到任何一个历史版本。
- 核心价值 (为什么你需要它):
- 版本控制: 完美记录每一次修改,告别混乱的文件版本。
- 高效协作: 与他人共同工作,流程清晰,互不干扰。
- 任务管理: 自带待办事项清单 (Issues),让项目井井有条。
- 个人展示: 你的 GitHub 主页就是你最好的项目作品集。
使用指南 (Usage Guide)
快速上手
- 第一步:注册账户与基本设置
- 创建你的 GitHub 账户。
- 配置你的个人资料 (Profile),让它成为你的网络名片。
- 第二步:核心概念速览
- 仓库 (Repository): 单个项目的文件夹。
- 提交 (Commit): 一次“保存”,并附上本次修改的说明。
- 分支 (Branch): 创造一个“平行时空”,在新空间里实验,不影响主线。
- 拉取请求 (Pull Request): 请求将“平行时空”的修改合并回主线。
- 第三步:网页端轻松上手
- 创建你的第一个仓库。
- 通过网页界面上传文件、编辑内容、进行第一次 Commit。
- (推荐) 下载 GitHub Desktop,无需命令行也能同步本地文件。
根据功能拆解使用
设置
- Applications
- Installed GitHub Apps:您授权给某些应用(如CI/CD工具、代码扫描工具)访问您代码仓库的权限。
- Authorized GitHub Apps:已授权的OAuth应用,所有您曾授权过的第三方应用。场景:用GitHub账号登录第三方网站,如
Vercel,Netlify,Gitpod。 - Authorized OAuth Apps:使用场景为:在您的代码仓库里安装一个自动化工具,比如
GitHub Actions里的代码扫描工具、自动更新依赖的Dependabot、或者能自动给Issue打标签的机器人。这些工具是作为独立的“服务”在后台运行。
认证方式选择
- HTTPS 方式
- 使用 Token(个人访问令牌, Personal Access Token)进行认证
- 适合新手,配置简单
- 每次远程操作可能需要输入凭据(可缓存)
- SSH 方式
- 使用 SSH 密钥对(SSH Key Pair)进行认证
- 配置一次后无需重复输入密码
- 适合频繁操作和自动化场景
- 密钥对(Pair),包括:私钥 (Private Key,永远保存本地,例如:
~/.ssh/id_ed25519) 和公钥 (Public Key,本地和 GitHub 都会有,例如:~/.ssh/id_ed25519.pub)
开源协议
GitHub 常见开源协议梳理
为了便于理解和比较,我们将几种主流的开源协议按照“协议类型”分为两大类:宽松许可协议(Permissive)和著佐权许可协议(Copyleft)。宽松许可协议限制较少,而著佐权许可协议则要求衍生作品也以相同或相似的协议开源。
| 协议名称 (Identifier) | 协议类型 | 主要特点 | 允许商用 | 允许修改 | 允许分发 | 允许私人使用 | 子类授权 | 使用条件 |
|---|---|---|---|---|---|---|---|---|
| MIT License | 宽松型 | 非常宽松,限制极少,是目前最受欢迎的协议之一。 | ✅ | ✅ | ✅ | ✅ | ✅ | 必须包含原始的版权和许可声明。 |
| Apache License 2.0 | 宽松型 | 与 MIT 类似,但提供了明确的专利授权,并要求对修改过的文件进行声明。 | ✅ | ✅ | ✅ | ✅ | ✅ | 包含原始版权声明、专利声明和修改声明。 |
| BSD 3-Clause License | 宽松型 | 限制比 MIT 稍多,禁止使用贡献者的名字进行市场推广。 | ✅ | ✅ | ✅ | ✅ | ✅ | 包含原始版权声明;未经许可,不得使用贡献者姓名进行宣传。 |
| GNU General Public License v3.0 (GPL-3.0) | 强著佐权 | 要求任何衍生作品(包括修改和链接了该代码的软件)都必须以 GPL-3.0 协议开源。 | ✅ | ✅ | ✅ | ✅ | ❌ | 必须以 GPL-3.0 开源所有修改和衍生作品的源代码。 |
| GNU Affero General Public License v3.0 (AGPL-3.0) | 强著佐权 | 在 GPL-3.0 的基础上,增加了对网络服务的规定。如果通过网络提供服务,也必须提供源代码。 | ✅ | ✅ | ✅ | ✅ | ❌ | 通过网络提供服务时,也必须以 AGPL-3.0 开源源代码。 |
| GNU Lesser General Public License v3.0 (LGPL-3.0) | 弱著佐权 | 允许动态链接到一个未以 LGPL/GPL 发布的程序中,而无需将整个程序开源。 | ✅ | ✅ | ✅ | ✅ | ❌ | 仅要求对协议库本身的修改部分以 LGPL-3.0 开源。 |
| Mozilla Public License 2.0 (MPL-2.0) | 弱著佐权 | 介于宽松协议和强著佐权协议之间,要求对协议覆盖的文件的修改部分开源,但不影响整个项目。 | ✅ | ✅ | ✅ | ✅ | ❌ | 必须开源对 MPL-2.0 协议下文件的任何修改。 |
| The Unlicense | 公共领域 | 将代码完全释放到公共领域,放弃所有版权。 | ✅ | ✅ | ✅ | ✅ | ✅ | 无任何条件。 |
名词解释:
- 子类授权 (Sublicensing): 是否允许在分发时使用不同的许可证。
- 著佐权 (Copyleft): 一种利用版权法来确保软件自由的策略,要求衍生作品也必须以相同的自由许可证发布。
场景化用例 (Scenario-based Use Cases)
- 作家/学生: 管理论文、小说或报告的各个草稿版本。
- 设计师: 存放设计稿,清晰展示每个版本的迭代过程。
- 项目经理: 使用 Issues 功能分配任务,用 Projects 功能跟踪项目看板。
- Indie Maker: 托管项目代码,并使用 GitHub Pages 搭建产品官网或博客。
- 任何人: 创建一个“生活清单”仓库,如读书清单、旅行计划、菜谱收藏等。
开源协作
提交PR(pull request)
- Fork 项目 —— 拥有自己的副本
- 修改自己的副本,并且commit
- 提交 Pull Request —— 请求合并你的修改
- 创建Pull Request:在您提交完修改后,页面通常会自动在顶部出现一个提示条,显示 “This branch is 1 commit ahead of a-wing/项目名:main.”。点击提示条右侧绿色的 “Contribute” 按钮,然后选择 “Open pull request”。
- 检查并提交
- 等待合并
- 查看验证原项目的pull requests
- 有相关记录,则pr提交成功
- 查看验证原项目的commit
- 有相关记录,则合并到原项目中成功
- 查看验证原项目的pull requests
横向对比 (Comparison with Alternatives)
- GitHub vs. 网盘 (如 Dropbox, Google Drive):
- 网盘: 侧重于文件存储和分享。
- GitHub: 侧重于过程管理和协作,不仅关心结果文件,更关心每一次变化的历史。
- GitHub vs. GitLab/Bitbucket:
- 三者都是优秀的代码托管平台,功能类似。
- GitHub 拥有最大的开源社区和用户群体,是个人项目和开源协作的默认首选。
隐藏技巧/高级玩法 (Hidden Tips / Advanced Usage)
- GitHub Pages: 几分钟内,免费拥有一个你的个人网站 (yourname.github.io)。
- 神奇的
.键: 在任何仓库页面按下键盘上的.键,会直接打开一个网页版的 VS Code 编辑器,在线修改超方便。 - 万物皆可用 Issues: 不仅是 Bug 追踪,更是你的个人待办清单、想法收集箱。
- Gist: 快速分享代码片段、笔记或配置文件的利器,一个“程序员的朋友圈”。
- README 的艺术: 学会用 Markdown 语法,让你的项目首页 (README.md) 图文并茂,清晰美观。
结语 (Conclusion)
- 总结: GitHub 的本质是一个围绕“版本控制”构建的协作平台。它强大、开放,且远不止于代码。
- 鼓励: 不要畏惧,现在就去创建一个仓库,把你的简历、笔记或者任何一个想法放上去,开启你的 GitHub 之旅。
- 互动: 欢迎在评论区分享你的 GitHub 主页,或者你发现的更有趣的用法!
- 随着我的持续探索,本文也将不断更新,补充更多实用的高级技巧和避坑指南。欢迎收藏关注!
常见问题 (FAQ)
- Q1: GitHub 是免费的吗?
- A: 是的,对于个人用户和大多数团队来说,其核心功能(包括私有仓库)都是免费的。
- Q2: 我必须会写代码才能用吗?
- A: 完全不需要。你可以只使用网页界面和 GitHub Desktop 来管理任何类型的文件。
- Q3: 我的项目必须公开吗?
- A: 不是。你可以创建私有仓库,只有你自己和你邀请的协作者才能看到。
- Q4: Git 和 GitHub 到底是什么关系?
- A: Git 是一个工具(软件),负责跟踪文件的变化。GitHub 是一个网站(平台),为使用 Git 的项目提供一个家。好比 Word 是编辑软件,而 Google Docs 是一个在线协作平台。
- 相关推荐:告别死记硬背:Git 常用命令学习指南
- Q5:fork其他人的项目之后,会怎么样?
- 获得独立控制权
- 完全的个人副本
- 完全的写权限
- 独立的历史记录
- 独立的设置
- 与原始项目保持关联:
- 向上游贡献代码 (Pull Request)
- 从上游同步更新 (Sync Fork)
- 对原始项目和社区的影响
- 删除 Fork 仓库,对于原项目不会产生影响;提交了 Pull Request 并且已经被合并,则保留,提交了Pull Request还在讨论中,则不保留
- 原始项目被删除或更改可见性
- 原始公共仓库被删除,最活跃的一个
fork仓库提升为新的“主仓库” - 原始私有仓库被删除,它所有的
fork也会被一并删除 - 原始公共仓库变为私有,它的所有
fork会被分离,成为一个独立网络
- 原始公共仓库被删除,最活跃的一个
- 对社区的贡献可见性
fork本身以及你在其中的提交都是公开可见的(假设原始项目是公开的)- 在 GitHub 的 “Network” 视图中,可以看到所有
fork仓库与原始仓库之间的分支和合并关系图,这展示了整个社区的贡献生态。
- 获得独立控制权
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 明立非|Mingnify的博客!


