【发布时间】:2013-07-12 18:01:17
【问题描述】:
我和一些同学正试图向其他学生介绍 git/Github,但举办研讨会从未真正让学生兴奋并开始利用该工具和服务。今年我们希望通过让学生使用 git 提交他们的项目进行评分来尝试将其融入课程。
问题是;我们还没有想出一个适当的工作流程来做到这一点。理想情况下,所有这些都可以通过 Github 完成。我们学校有 Github Enterprise(无限阅读公共/私人回购),所以我们有一些玩耍的空间。我不确定我们可以做多少定制,我也不确定 Github Enterprise 提供的所有内容。
我的第一个工作流程如下。
- 助教发布了一个带有起始代码和项目描述/作业的 repo
- 学生将 repo 复制到私有存储库(我觉得这是不可能的)
- 学生单独完成他们的项目
- 当学生准备好提交他们的项目时,他们会向助教提交 Pull Request。
我很确定这其中存在一些缺陷,其中之一是我们希望尝试让学生的工作保密。分叉到私人仓库可能是不可能的,而且我确信拉取请求不会起作用。
我很好奇是否有人做过类似的事情或有任何想法。我也愿意设置一个单独的服务器。我的想法是,学生可以使用 Github(私人仓库)来集中他们的代码,并通过分叉项目并从那里工作来熟悉 Github。在提交项目进行评分时,他们会将项目推送到单独的服务器。我不完全确定这将如何工作,但我认为有一些方法可以允许接受推送请求并通过钩子将它们推送到不同的分支。
这个想法是让学生在项目中使用 git/github 可能会让他们开始使用版本控制来实际处理他们的项目。当然会有学生在完成之前不会做任何事情。这更多的是让学生接触技术。
【问题讨论】:
-
我看不到使用 github 为您可能想要教的内容添加了什么(例如,使用现代版本控制)。教他们 git 而不是 github 并让他们通过电子邮件发送补丁系列(例如,如果您在一开始就给他们一个操作方法,即使使用
git send-email)。这样,私人/非私人回购的所有问题都会消失,因为他们的克隆在他们的控制之下,并且不依赖于某些预定的工作流程。 -
classroom.github.com 似乎允许这样做,您可以申请免费的私人回购。
标签: git github workflow github-enterprise