软件开发与创新第12周作业——以Github和本小组项目仓库为例的源代码管理工具介绍
GitHub 详细介绍
一、GitHub 是什么
GitHub 是一个面向开发者的代码托管与协作平台。它基于 Git 版本控制系统,主要用于保存代码、管理项目、多人协作开发、开源项目发布以及软件自动化构建和部署。
简单来说,GitHub 可以理解为“程序员的云端代码仓库”。开发者可以把自己的代码上传到 GitHub,也可以查看、学习、修改别人公开的项目代码。
GitHub 不仅适合个人开发者使用,也广泛应用于企业团队、开源社区、学校教学和软件项目管理中。
二、GitHub 和 Git 的关系
很多初学者容易把 Git 和 GitHub 混淆。
1. Git
Git 是一个分布式版本控制系统,用来记录代码的修改历史。它可以帮助开发者查看每一次代码修改、回退到以前的版本、创建分支并合并代码。
2. GitHub
GitHub 是一个基于 Git 的在线平台。它提供了网页界面、远程仓库、团队协作、代码审查、问题追踪、项目管理等功能。
3. 二者区别
| 对比项 | Git | GitHub |
|---|---|---|
| 类型 | 版本控制工具 | 代码托管平台 |
| 是否必须联网 | 不需要 | 需要联网 |
| 主要作用 | 管理代码版本 | 存储代码、协作开发 |
| 使用方式 | 命令行或图形工具 | 网页、Git 命令、客户端 |
| 关系 | 基础工具 | 基于 Git 的平台 |
可以理解为:Git 是工具,GitHub 是使用这个工具的线上平台。
三、GitHub 的主要功能
1. 代码托管
GitHub 最核心的功能是托管代码。用户可以创建仓库,将项目代码上传到 GitHub 上。
仓库可以分为两种:
- Public:公开仓库,任何人都可以查看
- Private:私有仓库,只有授权用户可以查看
每个仓库通常包含源代码、说明文档、配置文件、许可证文件等内容。

2. 版本控制
GitHub 基于 Git,可以记录项目代码的每一次修改。开发者可以查看历史版本,比较不同版本之间的差异,也可以在代码出现问题时回退到旧版本。
在支持github的开发软件中可直接拉取远程仓库的最新代码,也可以提交代码修改并将本地有修改的代码上传到远程仓库;也可以使用Github Desktop软件来进行pull,fetch,commit和push操作,但需要注意在电脑上选择正确的仓库(放项目代码的文件夹),才能够读取的到本地代码相较于远程仓库中的变化。(如下图所示)
常见的版本控制操作包括:
| 操作 | 含义 |
|---|---|
commit |
提交代码修改 |
push |
将本地代码上传到远程仓库 |
pull |
拉取远程仓库的最新代码 |
clone |
克隆远程仓库到本地 |
branch |
创建分支 |
merge |
合并分支 |


3. 分支管理
分支是 GitHub 协作开发中非常重要的概念。
在实际开发中,主分支通常保存稳定代码,而新功能、Bug 修复等工作可以在单独的分支中完成。这样可以避免未完成的代码影响主项目。
常见分支包括:
| 分支名称 | 作用 |
|---|---|
main / master |
主分支,保存稳定代码 |
develop |
开发分支 |
feature |
新功能分支 |
bugfix |
修复问题分支 |
release |
发布版本分支 |
4. Pull Request
Pull Request 简称 PR,是 GitHub 中进行代码审查和合并的重要方式。
当开发者在分支中完成代码修改后,可以发起 Pull Request,请求将代码合并到主分支。其他成员可以查看修改内容、发表评论、提出建议,确认没有问题后再合并。
Pull Request 的主要作用包括:
- 提交代码修改请求
- 进行代码审查
- 讨论代码实现方式
- 保证主分支代码质量
- 记录项目协作过程
![image]()
图中所示是小组成员Galilieo申请从dev-backend-new分支向dev总分支合并代码,并由小组成员3216934230-cpu审核通过的PR过程。
5. Issues 问题管理
Issues 是 GitHub 提供的问题追踪功能,可以用来记录 Bug、功能需求、任务计划和讨论内容。
开发者可以通过 Issue 描述项目中存在的问题,也可以给 Issue 添加标签、负责人和里程碑。
常见的 Issue 类型包括:
- Bug 报告
- 功能建议
- 任务分配
- 使用问题
- 项目讨论
例如,一个开源项目中有人发现程序运行报错,就可以提交一个 Issue,说明错误情况、复现步骤和运行环境。
6. README 文档
README 文件通常是一个项目的说明文档,一般使用 Markdown 格式编写。它通常位于项目根目录下,文件名为 README.md。
README 通常包括:
- 项目简介
- 安装方法
- 使用说明
- 功能介绍
- 项目结构
- 运行环境
- 作者信息
- 开源许可证
一个好的 README 可以帮助别人快速了解并使用项目。如图所示是本小组项目开发中数据库板块相关的README文档

7. GitHub Pages
GitHub Pages 是 GitHub 提供的静态网站托管服务。用户可以通过它免费发布个人主页、项目文档、博客或课程作业展示页面。
适合发布的内容包括:
- 个人简历网站
- 项目介绍页面
- 技术博客
- 文档网站
- 前端静态页面
GitHub Pages 对学习前端开发、展示作品集非常有帮助。
四、GitHub 的基本概念
1. Repository 仓库
Repository 简称 repo,是 GitHub 中保存项目代码的地方。一个项目通常对应一个仓库。
仓库中可以包含:
- 源代码文件
- 图片资源
- 配置文件
- 文档文件
- 测试文件
- 版本记录
如图所示是本小组项目源代码所处在的仓库
![image]()
2. Commit 提交
Commit 是一次代码修改记录。每次提交都会保存修改内容、提交时间和提交人信息。
提交时通常需要填写提交说明,例如:
git commit -m "修复登录页面错误"
良好的提交说明可以帮助团队成员理解每次修改的目的。
值得一提的是,Github在项目的开发过程中,针对开发组成员的每一次提交都进行记录汇总,得到可视化表格来展现每位成员的贡献,令人十分拥有成就感。

3. Branch 分支
Branch 是项目的不同开发路线。开发者可以在分支上修改代码,而不会影响主分支。
例如:
git branch feature-login
表示创建一个名为 feature-login 的功能分支。
4. Fork 复制仓库
Fork 是将别人的仓库复制一份到自己的 GitHub 账号下。通常用于参与开源项目。
Fork 后,用户可以在自己的仓库中修改代码,然后通过 Pull Request 向原项目提交修改建议。
5. Star 收藏
Star 类似于收藏或点赞。用户可以给自己感兴趣的项目点 Star,方便以后查找。
Star 数量也常常被用来衡量一个开源项目的受欢迎程度。
6. Watch 关注
Watch 表示关注一个仓库的动态。当项目有新的 Issue、Pull Request 或发布信息时,用户可以收到通知。
7. Release 版本发布
Release 用于发布项目的正式版本。例如,一个软件可以发布 v1.0、v2.0 等版本。
Release 通常包括:
- 版本号
- 更新说明
- 安装包
- 源代码压缩包
- 修复内容说明
五、GitHub 的基本使用流程
1. 注册 GitHub 账号
首先需要访问 GitHub 官网并注册账号。注册后可以创建自己的代码仓库,也可以参与其他项目。
2. 创建仓库
登录 GitHub 后,可以点击 New Repository 创建新仓库。
创建仓库时通常需要填写:
- 仓库名称
- 仓库描述
- 是否公开
- 是否添加 README
- 是否添加
.gitignore - 是否选择开源许可证
3. 克隆仓库到本地
创建仓库后,可以使用 Git 命令将仓库克隆到本地电脑:
git clone 仓库地址
例如:
git clone https://github.com/用户名/仓库名.git
4. 修改代码
克隆完成后,可以在本地使用 VS Code、IDEA、PyCharm 等编辑器修改代码。
5. 提交代码
修改完成后,可以使用以下命令提交代码:
git add .
git commit -m "提交说明"
其中:
git add .表示将所有修改加入暂存区git commit -m表示提交修改并添加说明
6. 推送到 GitHub
提交完成后,可以使用以下命令上传代码:
git push
这样本地代码就会同步到 GitHub 远程仓库。
7. 拉取最新代码
如果团队成员修改了远程仓库中的代码,其他人可以使用:
git pull
将远程仓库的最新代码同步到本地。
六、GitHub 在团队开发中的作用
在团队开发中,GitHub 可以帮助成员协同工作。
例如,一个项目组有前端、后端、测试和项目负责人。每个人都可以在不同分支上开发自己的功能,完成后通过 Pull Request 合并到主分支。
GitHub 在团队开发中的作用包括:
- 统一保存代码
- 管理项目版本
- 分配开发任务
- 审查代码质量
- 跟踪 Bug 和需求
- 自动化测试和部署
- 记录项目开发过程
七、GitHub 在开源项目中的作用
GitHub 是全球重要的开源协作平台之一。许多知名开源项目都托管在 GitHub 上。
开源项目允许开发者查看源代码、提交问题、贡献代码和参与讨论。
参与开源项目的一般流程是:
- 找到感兴趣的开源项目
- Fork 项目到自己的账号
- 克隆到本地修改代码
- 提交修改
- 发起 Pull Request
- 等待项目维护者审查
- 修改通过后合并到原项目
通过参与开源项目,开发者可以提升编程能力,也可以积累项目经验。
八、GitHub 的优点
1. 方便代码管理
GitHub 可以保存项目的完整修改历史,方便查看每一次修改内容,也可以回退到旧版本。
2. 适合团队协作
多人可以同时参与一个项目,并通过分支和 Pull Request 进行协作。
3. 有利于开源交流
GitHub 上有大量优秀开源项目,开发者可以学习别人的代码,也可以贡献自己的代码。
4. 支持自动化开发流程
GitHub Actions 可以实现自动测试、自动构建和自动部署,提高开发效率。
5. 项目展示效果好
开发者可以通过 GitHub 展示自己的项目经历,对求职、学习和技术积累都有帮助。
6. 社区资源丰富
GitHub 上有大量框架、库、工具和学习资料,适合程序员学习和查找解决方案。
九、GitHub 的缺点
1. 对初学者有一定门槛
Git 和 GitHub 涉及命令行、分支、提交、合并等概念,初学者需要一定时间学习。
2. 网络访问可能不稳定
在部分地区访问 GitHub 可能会出现速度慢或连接不稳定的问题。
3. 私密信息泄露风险
如果用户不小心将密码、密钥、数据库账号等敏感信息上传到公开仓库,可能会造成安全风险。
4. 协作时可能出现冲突
多人同时修改同一个文件时,可能会产生代码冲突,需要手动解决。
5. 过度依赖平台
如果项目完全依赖 GitHub,平台访问异常时可能会影响开发流程。
十、GitHub 的应用场景
GitHub 的应用范围非常广,常见场景包括:
| 应用场景 | 说明 |
|---|---|
| 个人项目管理 | 保存和管理自己的代码 |
| 团队软件开发 | 多人协作完成项目 |
| 开源项目维护 | 发布和维护开源代码 |
| 学习编程 | 阅读优秀项目源码 |
| 课程作业提交 | 上传实验代码和报告 |
| 个人作品展示 | 展示项目经验和技术能力 |
| 网站部署 | 使用 GitHub Pages 发布静态网站 |
| 自动化部署 | 使用 GitHub Actions 构建和部署项目 |
十一、GitHub 使用注意事项
1. 不要上传敏感信息
不要将以下内容上传到公开仓库:
- 密码
- 数据库账号
- API Key
- 私钥文件
- 身份证信息
- 学校或公司内部资料
2. 编写清晰的 README
一个好的项目应该有清楚的 README 文件,让别人知道项目是什么、怎么运行、有什么功能。
3. 提交说明要规范
不要写无意义的提交说明,例如:
git commit -m "修改"
更推荐写成:
git commit -m "修复用户登录失败的问题"
4. 合理使用分支
不要所有功能都直接在主分支上开发。对于较大的项目,应该使用功能分支进行开发。
5. 注意开源许可证
如果使用别人的开源代码,要注意该项目的许可证要求。例如 MIT、Apache、GPL 等许可证对代码使用和分发有不同要求。
十二、总结
GitHub 是一个基于 Git 的代码托管和协作开发平台。它不仅可以保存代码,还可以进行版本管理、团队协作、问题追踪、代码审查、自动化测试和项目发布。
对于个人开发者来说,GitHub 是学习编程、积累项目和展示能力的重要工具。对于团队来说,GitHub 可以提高开发效率,规范项目流程。对于开源社区来说,GitHub 是全球开发者共同协作的重要平台。
掌握 GitHub 的基本使用方法,对计算机专业学生、软件开发人员和技术爱好者都非常重要。



浙公网安备 33010602011771号