【问题标题】:How to set up Git bare HTTP-available repository on IIS如何在 IIS 上设置 Git 裸 HTTP 可用存储库
【发布时间】:2019-07-25 21:09:49
【问题描述】:

我的服务器已经在 TCP 端口 80 和 443 上运行 IIS。我想通过 Internet 为我的所有团队成员提供一个集中的“推/拉”Git 存储库。

所以我应该使用 HTTP 或 HTTPS。

但是我不能使用 Apache,因为 IIS 已经在端口 80 和 443 上连接了监听套接字!有没有办法通过 IIS 发布 Git 存储库? Git 使用 WebDAV 吗?

更新。 Git HTTP 安装似乎是只读的。这很可悲。我打算将稳定分支保留在构建服务器上,并使用推送钩子重新部署。除了为该分支使用 SVN 之外,还有人看到解决方法吗?

【问题讨论】:

  • 在所选答案中的三个建议中,您最终使用了哪种解决方案?对你来说效果如何?我现在也有类似的情况,希望得到推荐。
  • @Andy 我们在 Windows 上使用 OpenSSH/msysgit 来设置标准 SSH 存储库。现在(在不同的公司)我们使用带有 SSH/gitosis 的小型 Debian VM。但是备份起来有点困难。
  • 我的项目 WebGit.NET 已经存在了一段时间,但我们刚刚发布了 2.0 版当前功能: - 通过 HTTP/HTTPS 推送/拉取 - 提交日志 - 图表视图 - 插件基础设施 - 影响插件 (显示用户及其贡献影响) - 通过 SHJS 突出显示语法 - 原始文件下载 - 存储库中图像的图像查看器 我们计划在未来支持的事情: - 问题跟踪器插件 - 无论想要什么! (在 GitHub 上添加功能请求,我们将看看我们能做什么!)
  • @Artem Tikhomirov 你真的救了我Update. Seems that git HTTP installation is read-only one.

标签: git version-control iis-7 dvcs


【解决方案1】:

Bonobo Git 服务器

https://bonobogitserver.com/


GitAspx - 作者:杰里米·斯金纳

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 网络

https://gitweb.codeplex.com/


WebGitNET

https://github.com/otac0n/WebGitNet


或者...(非 IIS,但强烈推荐,免费和开源)

Gitea(Gogs 的分支):https://gitea.io

Gogshttps://gogs.io

SCM Manager 可让您轻松设置 GitHgSVN 下的修订控制端点相同的托管过程。支持 HTTP/HTTPS 以及内置的用户身份验证。

https://www.scm-manager.org
https://bitbucket.org/sdorra/scm-manager/

【讨论】:

    【解决方案2】:

    Git 应该支持 webdav,并且应该适用于任何 webdav 服务器。但是,与原生 git 协议相比,它确实很慢。

    http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt

    【讨论】:

    • 本文档适用于 Apache 而不是 IIS。
    【解决方案3】:

    如今 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)。

    【讨论】:

      【解决方案4】:

      有一种方法可以在没有 cygwin 的情况下使用 MSysGit 设置 Git。 http://java2cs2.blogspot.com/2010/03/setup-git-server-on-windows-machine.html

      【讨论】:

        【解决方案5】:

        试试这个使用 SCM-Manager 和 IIS 的指令:Hosting Git, SVN and Hg (Mercurial) repositories on Windows with IIS

        【讨论】:

          【解决方案6】:

          https://github.com/projectkudu/kudu 是 Azure 上部署的引擎。这可能对仍在问这个问题的人有所帮助...

          【讨论】:

            猜你喜欢
            • 2016-10-18
            • 1970-01-01
            • 2014-08-03
            • 1970-01-01
            • 1970-01-01
            • 2014-08-18
            • 1970-01-01
            • 2013-01-29
            • 2020-08-14
            相关资源
            最近更新 更多