📌 一、创建 GitHub 仓库时的核心注意事项
在点击 Create repository 按钮前,请重点关注以下几点:
1. 仓库命名(Repository name)
- 规范命名 :使用小写字母,单词间用连字符
-分隔(例如dev-cheatsheet或react-todo-app),避免空格和中文。 - 简洁清晰:名称应当直观反映项目功能。
2. 可见性设置(Visibility)
- Public(公开):所有人可见,适合开源项目、个人作品集。
- Private(私有):仅你自己和邀约的协作者可见,适合敏感项目、商业源码或未完成的草稿。
3. 初始化文件(Initialize this repository with)
建议在创建时直接勾选以下三项:
- Add a README file :勾选后会自动创建
README.md,方便直接克隆到本地,也避免出现空仓库(Empty Repository)的指引界面。 - Add .gitignore:选择匹配你项目主语言/框架的模板(下文详述)。
- Choose a license:选择适合项目的开源协议(下文详述)。
🙈 二、什么是 .gitignore?怎么用?
1. 什么是 .gitignore?
.gitignore 是一个普通的文本文件,用来告诉 Git 哪些文件或文件夹"不需要被追踪和提交到 GitHub"。
在实际开发中,项目里会产生很多临时文件、依赖包或私密配置,比如:
- 依赖库 :
node_modules/(前端)、venv/(Python 虚拟环境)。 - 编译产物 :
dist/、build/、.class、.exe文件。 - 环境变量/密钥 :
.env(内含 API Token、数据库密码等)。 - 系统/编辑器缓存 :
.DS_Store(Mac 系统文件)、.vscode/、.idea/(IDE 配置)。
为什么要忽略它们?
- 体积过大 :依赖包通常非常庞大,提交会极大地减慢
git push/pull的速度。 - 安全性:防止误将数据库密码、API 密钥公开到 GitHub 上造成安全泄露。
- 避免冲突:每个人的 IDE 配置不同,提交各自的 IDE 配置会导致代码冲突。
2. 在 GitHub 创建界面怎么选?
在新建仓库页面,点击 Add .gitignore 下拉框,搜索并选择你项目使用的主要语言或框架:
- 编写 Node.js / Vue / React 项目 ➔ 选择 Node
- 编写 Python / Django 项目 ➔ 选择 Python
- 编写 Java / Spring 项目 ➔ 选择 Java 或 Maven / Gradle
GitHub 会自动生成一份包含该语言最常见忽略规则的文件。
3. .gitignore 的语法与修改用法
你可以随时在本地打开 .gitignore 文件进行自定义修改,常用语法规则如下:
gitignore
# 1. 忽略特定的文件
config.json
.env
# 2. 忽略整个文件夹(末尾加斜杠 /)
node_modules/
dist/
venv/
# 3. 使用通配符忽略某一类文件
*.log # 忽略所有 .log 结尾的日志文件
*.tmp # 忽略所有临时文件
# 4. 排除例外(使用感叹号 ! 表示不忽略该文件)
!important.log
# 5. 忽略特定目录下的文件
docs/*.tmp # 只忽略 docs 目录下的 .tmp 文件,不影响子目录
📜 三、什么是 License(开源协议)?怎么用?
1. 什么是 License?
LICENSE(开源许可协议)是你在法律层面给使用者下发的授权许可文档。它明确规定了别人是否可以免费使用、修改、分发、甚至商业化你的代码,以及他们需要承担什么责任。
⚠️ 重要误区:
如果你的代码是公开的(Public),但没有添加 LICENSE,在法律上这意味着 "保留所有权利(All Rights Reserved)"。别人可以查看你的代码,但无权下载、修改或商业化使用。
2. 常见开源协议如何选择?
在 GitHub 创建界面,下拉框提供了多种主流协议。如果你不确定怎么选,可以参考以下法则:
bash
┌─ 允许别人闭源/商业化? ─── NO ───► GPL-3.0 (传染性强,衍生作品必须开源)
│
你的开源诉求 ────────┤
│
└─ YES ───► 是否要求保留原作者署名与版权声明?
├─ YES ───► MIT (最流行、最宽松、短小精悍)
│ Apache-2.0 (额外包含专利授权保护)
└─ NO ───► Unlicense (完全进入公有领域)
三大最主流协议速查表:
| 协议名称 | 宽松度 | 商业友好? | 核心特点与适用场景 |
|---|---|---|---|
| MIT | 🟢 最宽松 | YES | 最推荐。几乎没有任何限制,只要使用者保留你的版权声明即可。适合绝大多数开源项目/工具库。 |
| Apache 2.0 | 🟡 适中 | YES | 类似于 MIT,但额外增加了专利授权和商标使用限制,适合较大型的企业级开源项目。 |
| GPL v3 | 🔴 严格 | YES (但有限制) | "传染性"协议。任何人如果使用了你的代码或在此基础上修改,他们的项目也必须以 GPL v3 协议开源。适合希望保护代码不被大厂闭源"套壳"的项目(如 Linux 社区风格)。 |
3. 如何使用与应用?
-
新建仓库时:直接在 Choose a license 下拉菜单中选择(如 MIT License),GitHub 会自动在项目根目录下生成一个 LICENSE 文件。
-
已有仓库补充:在仓库根目录下点击 Add file -> Create new file,输入文件名 LICENSE,右侧会出现一个 Choose a license template 按钮,点击即可快速选择模版生成。
💡 总结 checklist
创建一个优雅且规范的 GitHub 仓库,只需记住这个极简流程:
-
命名:小写字母 + 横杠(例 my-awesome-tool)。
-
描述:写清楚一句话简介(Description)。
-
可见性:公开选 Public,私有选 Private。
-
勾选初始化:
-
README(提供项目说明)
-
.gitignore(选择项目语言,过滤垃圾/敏感文件)
-
License(首选 MIT,明确版权授权)
-