通过 HTTPS 使用 GIT 进行存储库访问控制

通过 HTTPS 使用 GIT 进行存储库访问控制

我们最近开始尝试使用 GIT,并希望从 SVN 切换到 GIT。我为 git 设置了一个服务器,目前使用 SSH 协议。该服务器运行的是 CentOS 6.5。我的同事想使用 GUI 工具,我读到 GitHub for Windows 应用程序可以在非 Github 存储库上使用,但我还是无法让它与 SSH 协议一起工作。我曾考虑过改用 HTTPS 协议,但我想要某种访问控制。使用 SSH 时,它使用 UNIX 文件权限。有没有办法使用 HTTPS 并仍然强制执行读/写权限?我看到有人提到 Gitosis。这是通过 HTTPS 强制执行权限的可行选项吗?您知道有什么好的资源可以进行设置吗?

答案1

我最近在工作的地方设置了一个 Git 服务器,它需要公共和私有存储库的 SSH 和 HTTP(S) 访问权限。我首先手动设置了整个服务器,这花了一些时间,但后来我遇到了 Gitlab,它似乎解决了我所有的问题 - 它几乎就是 Github,但是是您自己的私有托管版本。我强烈建议使用 Gitlab 而不是手动设置一切,因为它具有许多出色的功能并且易于管理。

这里有一个很棒的教程:https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md

但是,如果您确实想通过 HTTP(S) 运行 Git,则需要设置 Apache 或 Nginx 以使用 git-http-backend 二进制文件来完成所有工作。网上有很多教程,具体取决于您决定采用哪种配置。

相关内容