我在AWS上有一个test_project
git存储库 - 我没有使用github。
我希望几个学生能够“结账”,“分支”,“克隆”,无论如何他们可以获得项目中的所有可用文件,但永远无法“签入”,“合并”,“推送“,无论回到原始test_project
。
当我拉下项目时,我总是clone
它到我的个人机器上,所以我可以在任何地方进行更改push
它们在我离开那台机器之前 - 这样我总是拥有最新的版本我正在努力(我有3台机器,我经常要在它们之间工作)。
我应该让学生使用哪些命令“签出”这个项目,这样他们就不会意外地将他们的更改“合并”回原始存储库?
答案 0 :(得分:3)
通过git://或https://协议授予访问权限。不要给他们写访问权限(例如通过ssh://)。如果它是一个小型存储库,那么dumb http://也可以做得很好。
答案 1 :(得分:1)
请参阅文章Customizing Git - An Example Git-Enforced Policy中的“实施基于用户的ACL系统”,其中介绍了如何通过接收端的挂钩进行设置。
当你的环境有所增长时,gitolite似乎是一个更好的选择。