使用msysgit和copssh,是否可以保护ssh部分,使其只能访问相关的git可执行文件,并且只能访问一个文件夹?
我觉得Windows上的git服务器比svn服务器(如visual svn)更开放。我希望被证明是错的。
答案 0 :(得分:2)
我会将Linux服务器用于您的中央Git存储库。安装gitolite。这将使您能够管理分支权限等。
更新:
根据您最近的评论,只需要轻松一下,并在1分钟内完成。如果您担心用尽他们提供的500MB空间,可以将大型非私有工件存储为可以托管在github上的子模块。
希望这有帮助!
答案 1 :(得分:2)
在Windows上,我发现Apache和Smart Http(git-http后端)是托管Git服务器的最佳方式。
https://web.archive.org/web/20100308035130/http://progit.org/2010/03/04/smart-http.html
进入访问控制,我会建议你保持简单,有一个访问conf文件svn甚至gitolite / gitosis并在Git repo中编写简单的钩子(用Python,Ruby等)
钩子会为你提供很好的Git仓库控制权。您可以控制每个分支的签入,签入特定文件夹等。
看看git hooks手册页。 pre-receive
或update
是您可以为此目的使用的钩子。
请看Pro Git中关于如何在服务器端使用Git钩子强制执行策略的这一精彩章节 - https://git-scm.com/book/en/v2/Customizing-Git-An-Example-Git-Enforced-Policy
您可以轻松调整它们并添加适合您目的的功能。
答案 2 :(得分:1)
我非常推荐使用其中一个Git-HTTP项目。 请参阅我的回答:https://serverfault.com/questions/58425/setting-up-git-repository-on-remote-windows-server/163065#163065
您正试图让Windows的行为与UNIX相似。 最好配合流程,并使用基于.NET的解决方案作为Git服务器后端。
当您与一个小型双人项目(如您在评论中提到的)进行交易时,您还可以在Windows网络共享上托管git存储库。它只是工作,你克隆你的git客户端中的UNC路径(或映射的驱动器号)。
对于UNC路径,当您使用斜杠而不是反斜杠时(即//server01/git/myrepos.git
)。
答案 3 :(得分:1)
答案 4 :(得分:0)
当我开始考虑设置公司git服务时,我们有以下要求: 1.将git存储库作为项目进行管理,我们可以在项目级别提供自助访问控制。 2. LDAP登录集成 3.低管理工作
我评估了香草git,git + git-http,gitolite。这些解决方案需要管理员来管理访问控制。如果团队规模很大,这将是一项重大努力。如果团队很小(5-10名开发人员),那么vanilla git就可以了。
我查看了github企业,使用github,后来使用了bitbucket。我们最终购买了bitbucket,并在本地版本上运行。 bitbucket符合我们的所有要求。此外,我们可以选择性地将某些AD组同步到bitbucket并在组级别管理访问。