如何在 GitHub 创建并开源第一个项目?README、License、Release 教程
- 适用范围
- 已有一个本地项目文件夹,准备通过 GitHub 网页或 GitHub CLI 创建首个公开仓库的新手
- 信息来源
- 木子不写代码 GitHub 零基础教程、GitHub Docs、Git 文档与 GitHub CLI 手册
在 GitHub 开源第一个项目,完整流程是:整理项目文件,写 README,选择 LICENSE,检查密钥和隐私,初始化 Git 并提交,再创建公开仓库、推送 main,最后打 Tag 和发布 Release。不要跳过公开前的敏感信息检查。

第一步:整理项目目录
先确认项目在本地可以运行,并删除不应进入仓库的临时文件。常见基础结构:
PROJECT_NAME/
├─ README.md
├─ LICENSE
├─ .gitignore
├─ src/
├─ tests/
└─ docs/
.gitignore 用于排除依赖、缓存、构建产物和本地配置。例如:
.env
.env.*
node_modules/
dist/
*.log
已经被 Git 跟踪的文件不会因为后来加入 .gitignore 就自动从历史中消失,所以应在第一次提交前完成检查。
第二步:写清 README
README 是仓库首页的说明书,至少回答:
- 项目解决什么问题;
- 有哪些主要功能;
- 环境要求和安装步骤;
- 最小可运行示例;
- 输入、输出和配置位置;
- 当前限制与已知问题;
- 许可证和贡献方式。
截图要展示真实功能,不要只放概念图。命令应经过实际执行,并标明是在 PowerShell、终端还是特定目录运行。
第三步:选择 LICENSE
希望降低复用门槛时,常见起点是 MIT 或 Apache-2.0;希望衍生作品继续开放时,需要进一步评估 MPL、LGPL、GPL 或 AGPL。
许可证不是装饰文件。选择前先阅读 MIT、Apache、GPL 等 7 种许可证对比,并确认依赖许可证是否兼容。
第四步:执行公开前安全检查
逐项搜索:
- API Key、Token、密码、私钥和 Cookie;
.env、数据库、日志和测试账号;- 姓名、邮箱、聊天记录和业务数据;
- 本地绝对路径和内网地址;
- 无权公开的字体、图片、视频、数据集和第三方代码;
- 大型构建文件和无意义缓存。
第五步:初始化 Git 并完成第一次提交
在项目根目录执行:
git --version
git init -b main
git add .
git status
git commit -m "Initial commit"
git status 是关键检查点。确认暂存区只有计划公开的文件,再执行 Commit。
第六步:创建 GitHub 仓库并推送
安装 GitHub CLI 后登录:
gh auth login
在浏览器完成授权,再从项目根目录创建公开仓库:
gh repo create PROJECT_NAME --public --source=. --remote=origin --push
将 PROJECT_NAME 换成实际仓库名。执行成功后,检查 GitHub 页面上的文件、README、LICENSE 和默认分支是否正确。
也可以先在 GitHub 网页创建空仓库,再按页面提示添加远程并推送。不要同时让网页生成 README,而本地又有不同 README,否则第一次推送前需要处理两套历史。
第七步:发布第一个 Release
早期可用版本常从 v0.1.0 开始:
git tag -a v0.1.0 -m "First public release"
git push origin v0.1.0
gh release create v0.1.0 --generate-notes
发布说明应写明功能、安装方法、破坏性变化、已知限制和升级方式。应用软件可以附安装包;脚本、Skill 或库也可以只发布源码包和使用说明。
第八步:维护 Issue 和 Pull Request
公开项目上线后,需要建立最低限度的维护流程:
- 用 Issue 收集可复现的问题和需求;
- 提供 Issue 模板,要求系统、版本、步骤和日志;
- 用 Pull Request 审查贡献,不直接接受来源不明的大块修改;
- 开启自动测试和依赖更新;
- 为默认分支设置保护规则;
- 用 Release 和更新日志说明版本变化。
Branch、Pull Request 和 Tag 的关系可参考 GitHub 工作原理图解。如果需要从找项目开始重新梳理,回到 GitHub 零基础入门完整教程。
使用边界:发布前必须确认自己拥有代码和素材的公开权利,并清除密钥、个人数据、绝对路径、构建产物与不应公开的文件。
常见问题
创建 GitHub 仓库前必须安装 Git 吗?
只用网页上传少量文件时不是必须;要保留本地版本历史、持续推送和协作,建议安装 Git。使用 gh 命令还需要 GitHub CLI。
README 应该写哪些内容?
至少写清项目解决的问题、主要功能、安装步骤、最小示例、配置要求、许可证和获得帮助的方式。
第一次发布应该用什么版本号?
仍处于早期但已有可用功能时,常从 v0.1.0 开始;是否稳定以及版本规则应在 README 或发布说明中明确。