Git分布式版本控制实践课程

2024-05-11

246
29
0

一、课程说明

《Git 分布式版本控制实践》课程旨在培养学生具备贡献开源项目的能力,通过开源文化背景介绍,让学生了解开源软件技术并对之产生兴趣,然后基于 Git 分布式版本控制工具让学生参与贡献开源项目,其中可通过开源之夏和毕业设计等不同途径为开源项目做贡献,激发学生的创造力与创新潜力。

《Git 分布式版本控制时间》课程通过开源项目研发的实践案例,引导学生了解开源软件的研发的基本技能和核心理念,并探索如何将开源思维应用于不同领域的创新实践中。最终目的是希望学生学会开源并能够为中国开源软件做贡献。

Git分布式控制2.png

二、课程目标

教学目标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%。成绩计算方法如下表所示:

学生学习评价与考核表

评价项目

评价形式

权重(%)

分值

专题小结

线上提交4次

40

40

开源项目实践

提交实践项目

30

30

结课答辩

完成结课汇报答辩

30

30

合计

100

100

七、教学资源开发与利用

建议可配合自编讲义。结合与企业合作的资源,任课教师和团队完善教学资源,更新教学案例、撰写相关教学材料。上课地点应放在专业机房或者相关教室(学生可自带计算机资源),具备可连公网环境,其中使用的 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