我的服务器已经在 TCP 端口 80 和 443 上运行 IIS。我想为我的所有团队成员通过 Internet 提供一个集中的“推/拉”Git 存储库。
所以我应该使用 HTTP 或 HTTPS。
但是我无法使用 Apache,因为 IIS 已经在端口 80 和 443 上连接了监听套接字!有没有办法通过 IIS 发布 Git 存储库? Git 使用 WebDAV 吗?
更新。 Git HTTP 安装似乎是只读的。太悲伤了。我打算将稳定分支保留在构建服务器上,并使用推送钩子重新部署。除了为该分支使用 SVN 之外,还有人看到解决方法吗?
Bonobo Git 服务器
GitAspx - 作者:Jeremy Skinner
https://github.com/JeremySkinner/git-dot-aspx/
https://github.com/JeremySkinner/git-dot-aspx/downloads
安装说明
https://www.jeremyskinner.co.uk/2010/10/19/gitaspx-0-3-available/
Git 网络
WebGitNET
https://github.com/otac0n/WebGitNet
或者...(非 IIS,但强烈推荐,免费且开源)
Gitea(Gogs 的叉子):https://gitea.io
Gogs:https://gogs.io
SCM Manager允许您在同一托管进程下轻松设置Git、Hg和SVN的修订控制端点。支持 HTTP/HTTPS 以及内置用户身份验证。
https://www.scm-manager.org
https://bitbucket.org/sdorra/scm-manager/
Git 据说支持 webdav,并且应该可以与任何 webdav 服务器一起使用。然而,与原生 git 协议相比,它确实很慢。
http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt
如今 Git 在 Windows 上还不错。
如果您想在 IIS 已使用端口 443 和/或 80 时使用 SVN,请尝试使用 http://gstoolkit.codeplex.com/wikipage?title=SvnReverseProxy&ProjectName=gstoolkit 上的工具,它是反向代理允许 IIS 通过 SVN 透明地传递到后端 VisualSVN 服务器(在同一台计算机上的端口 8080 上运行)。
我仍在尝试让 WebDAV 和 Git 在 Windows 上运行。 (通过 Apache 或 IIS 的 WebDAV)。
有一种方法可以在不使用 cygwin 的情况下使用 MSysGit 设置 Git。 http://java2cs2.blogspot.com/2010/03/setup-git-server-on-windows-machine.html
可以在 Windows 上运行 Git 智能 HTTP 服务器(支持通过 HTTP 从远程客户端进行推送和拉取),除了 IIS 和 Git 之外,无需任何额外的依赖项。
Git 的便携式版本包括一个名为
git-http-backend.exe
的可执行文件,它实现了智能 HTTP 协议,该协议旨在通过任何 Web 服务器上的 CGI 运行。
您可以使用 HTTP 基本身份验证和 HTTPS 来保护 Git 服务器的安全。您可以使用 Windows 帐户和文件/文件夹权限来控制对各个存储库的访问权限。
完整详细说明如下:如何使用 IIS 在 Windows 上运行 Git 服务器。
尝试使用 SCM-Manager 和 IIS 的说明:使用 IIS 在 Windows 上托管 Git、SVN 和 Hg (Mercurial) 存储库
https://github.com/projectkudu/kudu 是 Azure 部署背后的引擎。这可能对仍然问这个问题的人有所帮助......