一、课程说明
《Git 分布式版本控制实践》课程旨在培养学生具备贡献开源项目的能力,通过开源文化背景介绍,让学生了解开源软件技术并对之产生兴趣,然后基于 Git 分布式版本控制工具让学生参与贡献开源项目,其中可通过开源之夏和毕业设计等不同途径为开源项目做贡献,激发学生的创造力与创新潜力。
《Git 分布式版本控制时间》课程通过开源项目研发的实践案例,引导学生了解开源软件的研发的基本技能和核心理念,并探索如何将开源思维应用于不同领域的创新实践中。最终目的是希望学生学会开源并能够为中国开源软件做贡献。
二、课程目标
教学目标1:了解开源文化及法律法规、开源许可证基本范式等;
教学目标2:掌握基于 Git 完成开源项目创建;
教学目标3:掌握基于 Git 的版本控制以及 Git 基本原理;
教学目标4:学习如何基于 Git 完成开发协作;
教学目标5:能够通过开源之夏或毕业设计为开源项目做贡献。
三、课程设计
按照专业培养目标与高校人才培养的特点,结合企业内部版本控制工具的需求,课程将重点围绕 Git 的实践操作展开,通过一系列精心设计的任务,同学们可以了解其作为分布式版本控制系统的优势所在,进而激发学习兴趣,帮助同学们在实际操作中掌握 Git 的核心概念与技能。
本课程强调动手研发实践,帮助同学们全面、深入地掌握 Git 的基本原理与开发协作,为他们在未来的软件开发工作中打下坚实的基础。
课程使用案例教学法、任务驱动式、小组合作教学。课后开展答疑,通过网络资源,如 QQ、微信、邮件等开设答疑课。
四、教学安排
第一章 开源历史文化及开源价值和未来(2 课时)
1、开源的由来以及典型通用的开源项目
2、中国开源发展以及开源基金会介绍
3、开源法律框架及开源版权和专利介绍
4、开源许可证基本范式介绍
第二章 Git 分布式版本控制实践开源项目 Halo 介绍(2课时)
1、开源之路|Halo [ˈheɪloʊ] 与我
2、Halo 开源建站工具总体介绍
实践一:完成 GitHub 注册并关注感兴趣的开源项目,能基于对 Halo项目的了解提交一个 Issue
第二章 Git 基本原理(4 课时)
1、版本控制发展史
2、Git 的基本理论
3、Git 的安装及企业如何实现 DevOps
实践二:基于对 Git 的了解和学习在本机环境完成 Git 客户端的安装部署
第三章 Git 协作开发(4 课时)
1、基于 Git 的协作编程
2、协作编程的技巧
3、Git 的协作开发流程
实践三:基于 Git 进行小组协作完成协作编程
第四章 开源项目创新(4 课时)
1、明确项目定位
2、组建项目团队
3、建设项目基础
实践四:以小组为单位完成开源项目拟定并在GitHub上创建开源项目,成立项目团队
第五章 开源项目实践(16 课时)
1、Halo 开发环境搭建
2、如何基于 Halo 完成一个主题开发
实践五:搭建 Halo 开源项目开发环境,制定一个Halo主题开发的计划
第六章 开源项目运营(4课时)
1、基于 GitHub 介绍开源社区协作
2、以 Halo 为例介绍开源项目社区运营
3、以开源明星项目 JumpServer 为例介绍开源项目的商业化之路
第八章 结课答辩(4课时)
五、教学方法
本课程作为计算机相关专业教学的基础实验课程,教学方式如下:
开设学时:32学时 / 48 学时,其中包含授课以及上机实操;
教学方式:通过PPT理论教学、通过计算机实操教学;
学习方式:学生需独立的实操计算机。
动手实践、团队合作以及融入开源是本课程的三大特色,通过本课程的学习,希望能提高学生的信息技术应用与实践探索能力,提高学生的团队合作能力,提高利用信息技术手段为自己专业和生活服务的意识和能力,有利于学生能适应信息技术的飞速发展。在整个教学过程中,教学方法及原则参见如下:
目标导向、任务驱动。利用以往优秀作品,开拓学生思路,引导学生找到项目目标,确定具体任务,展开探索与实践。
团队合作、教师指导。学生自主组成学习小组,培养合作精神;教师为各团队搭建脚手架,指导和辅助学生完成课程项目。
拓展研发。对项目完成过程中学生遇到的没有接触过的内容,通过提供网上资源,帮助学生在做中学,培养探索精神。
利用线上线下等多元渠道完成师生互动、生生互动。
六、考核方案
本课程采用平时考察(专题小结)+项目实践+结课答辩相结合的方式,最终成绩构成的百分比为平时 40%+实践作业 30%+结课答辩 30%。成绩计算方法如下表所示:
学生学习评价与考核表
七、教学资源开发与利用
建议可配合自编讲义。结合与企业合作的资源,任课教师和团队完善教学资源,更新教学案例、撰写相关教学材料。上课地点应放在专业机房或者相关教室(学生可自带计算机资源),具备可连公网环境,其中使用的 GitHub 环境可以根据实际情况替换为 Gitee 或者其他代码托管平台。
八、参考资料
1、Halo官网:https://www.halo.run/;
2、GitHub地址:https://github.com/halo-dev/halo;
3、开源之夏:https://summer-ospp.ac.cn/;
4、Halo开源系列讲座:https://space.bilibili.com/3493261769443630/channel/collectiondetail?sid=2773988。
Comments