我和一些同学正试图向其他学生介绍 git/Github,而举办研讨会从未真正让学生兴奋并开始利用该工具和服务。今年我们希望通过让学生使用 git 提交他们的项目进行评分来尝试将其融入课程。
问题是; 我们还没有想出一个适当的工作流程来做到这一点。理想情况下,所有这些都可以通过 Github 完成。我们学校有Github Enterprise(无限阅读公共/私人回购),所以我们有一些空间可以玩。我不确定我们可以做多少定制,我也不确定 Github Enterprise 提供的所有内容是什么。
我的第一个工作流程如下。
- 助教发布了一个带有起始代码和项目描述/作业的 repo
- 学生们将 repo 复制到一个私人存储库(我觉得这是不可能的)
- 学生单独完成他们的项目
- 当学生准备好提交他们的项目时,他们会向助教提交一个拉取请求。
我很确定这有一些缺陷,一个是我们想尝试让学生的工作保密。可能无法分叉到私人仓库,而且我确信拉取请求不会起作用。
我很好奇是否有人做过类似的事情或有任何想法。我也愿意设置一个单独的服务器。我的想法是,学生可以使用 Github(私人仓库)来集中他们的代码,并通过分叉项目并从那里工作来熟悉 Github。在提交项目进行评分时,他们会将项目推送到单独的服务器。我不完全确定这将如何工作,但我认为有一些方法可以允许接受推送请求并通过钩子将它们推送到不同的分支中。
这个想法是让学生在项目中使用 git/github 可能会让他们开始使用版本控制来实际处理他们的项目。当然会有学生在完成之前不会做任何事情。这更多的是让学生接触技术。