我们最近开始尝试使用 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 二进制文件来完成所有工作。网上有很多教程,具体取决于您决定采用哪种配置。