代码之家  ›  专栏  ›  技术社区  ›  Aron Ahmadia

我可以用Git提交作业吗?[关闭]

  •  14
  • Aron Ahmadia  · 技术社区  · 16 年前

    这学期我在一所新大学教一门新课程,我真的很有兴趣让我的学生学习并运用最佳实践。以这种方式,我想使用Git存储库分配和接收他们的家庭作业。不幸的是,我使用了Git,但是我不太了解它,不知道潜在的安全漏洞是什么以及如何避免它们。另外,我只在个人版本控制中使用Git,从未在团队中使用过。

    我目前的计划是用1-12个用户建立一个与我的每个学生相对应的机器A。我将为每个学生生成一个ssh公钥/私钥对,以及一个初始的git存储库。然后,学生可以访问新作业的存储库,并在提交作业时将其推送到存储库。

    理想情况下,在我分配作业时,我可以从主存储库推送到学生存储库,而不会有太多麻烦。如果有可能从他们的存储库中提取到主存储库中,那么这也将是一个很好的方法。

    编辑:这篇文章有点不清楚。我打算让他们在完成一个任务或得到一个新的任务时,将其推/拉到各自的存储库中。我不认为我能把作业推到他们的笔记本电脑里。)

    那我从哪里开始呢?我要注意什么?这是个坏主意吗?如果是,为什么?

    3 回复  |  直到 12 年前
        1
  •  5
  •   Jakub Narębski adamtaub    16 年前

    你可以使用 Gitosis 管理对存储库的ssh访问,如中所述 scie.nti.st: Hosting Git repositories, The Easy (and Secure) Way Tv's cobweb: Snakepit and gitosis, things I've been working on 博客文章,以及 Chapter 4.7: Gitosis 关于“pro-git:专业版控制”的书。它在python中,需要安装工具。或者你可以试着找到它的等价物,比如 gitolite (以前叫Gitosis Lite)用珍珠。

    另一种解决方案是让每个学生都有自己的存储库,或两个存储库:他/她正在工作的私有存储库,以及(半)公共存储库,可能具有他/她推动完成工作的ssh访问权。您将扮演维护者/集成者的角色,以及 从它们的公共存储库更改为您的存储库(或存储库)。学生将从您的公共存储库(或存储库)中提取。

        2
  •  2
  •   Jonathan Graehl    16 年前

    对于您来说,进入他们的存储库(由他们的用户拥有)意味着您需要使用根权限才能进入他们自己的存储库。为什么不发布分配路径并让他们拉它呢?

    当然,您还可以限制ssh密钥,以便只运行给定的命令;您可以根据提供的密钥限制单个用户拥有的单个repo中的路径。

    Git是一个DCV,所以我喜欢你的多账户想法。

        3
  •  2
  •   Vinay Sajip    16 年前

    如果你使用Git,你的学生将不得不学习许多与软件配置管理、版本控制等相关的概念,而这些概念对于教学来说是不必要的,比如说地理课程。你在教供应链管理课程吗?如果是这样,你的想法听起来不错。如果没有,你可以考虑 Moodle . 如果您的用户在Windows上,请记住,Git在该环境中并不处于最佳状态。

    推荐文章