如何在 IIS 上设置 Git 裸 HTTP 可用存储库

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/51619/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-10 05:44:45  来源:igfitidea点击:

How to set up Git bare HTTP-available repository on IIS

gitversion-controliis-7dvcs

提问by Artem Tikhomirov

My server already runs IIS on TCP ports 80 and 443. I want to make a centralized "push/pull" Git repository available to all my team members over the Internet.

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

So I should use HTTP or HTTPS.

所以我应该使用 HTTP 或 HTTPS。

But I cannot use Apache because of IIS already hooking up listening sockets on ports 80 and 443! Is there any way to publish a Git repository over IIS? Does Git use WebDAV?

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

Update.It seems that Git HTTP installation is read-only. That's sad. I intended to keep the stable branch on a build server and redeploy using a hook on push. Does anyone see a workaround besides using SVN for that branch?

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

采纳答案by Brian Chavez

Bonobo Git Server

Bonobo Git 服务器

https://bonobogitserver.com/

https://bonobogitserver.com/



GitAspx- By Jeremy Skinner

GitAspx- 杰里米·斯金纳 (Jeremy Skinner)

https://github.com/JeremySkinner/git-dot-aspx/

https://github.com/JeremySkinner/git-dot-aspx/

https://github.com/JeremySkinner/git-dot-aspx/downloads

https://github.com/JeremySkinner/git-dot-aspx/downloads

Install Instructions

安装说明

https://www.jeremyskinner.co.uk/2010/10/19/gitaspx-0-3-available/

https://www.jeremyskinner.co.uk/2010/10/19/gitaspx-0-3-available/



Git Web

网络版

https://gitweb.codeplex.com/

https://gitweb.codeplex.com/



WebGitNET

网络版

https://github.com/otac0n/WebGitNet

https://github.com/otac0n/WebGitNet



Alternatively ...(non-IIS, but highly recommend, free and open-source)

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

Gitea(fork of Gogs): https://gitea.io

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

Gogs: https://gogs.io

戈格斯https: //gogs.io

SCM Managerallows you to easily set up revision control endpoints for Git, Hg, and SVNunder the same hosting process. HTTP/HTTPS is supported along with built-in user authentication.

SCM Manager允许您在同一托管进程下轻松设置GitHgSVN 的修订控制端点。支持 HTTP/HTTPS 以及内置用户身份验证。

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

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

回答by apenwarr

Git supposedly supports webdav, and should work with any webdav server. However, it's really slow compared to the native git protocols.

Git 应该支持 webdav,并且应该可以与任何 webdav 服务器一起使用。然而,与原生 git 协议相比,它真的很慢。

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

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

回答by Garrett Serack

Today Git ain't too bad on Windows these days.

如今,Git 在 Windows 上还算不错。

And if you want to use SVN on port 443 and/or 80 when IIS is already using it, try the tool at http://gstoolkit.codeplex.com/wikipage?title=SvnReverseProxy&ProjectName=gstoolkitwhich is a reverse proxy that allows IIS to transparently pass thru SVN to a back-end VisualSVN server (running on the same machine on port 8080).

如果您想在 IIS 已经在使用它时在端口 443 和/或 80 上使用 SVN,请尝试使用http://gstoolkit.codeplex.com/wikipage?title=SvnReverseProxy&ProjectName=gstoolkit上的工具,这是一个允许 IIS 的反向代理透明地通过 SVN 传递到后端 VisualSVN 服务器(在端口 8080 上运行在同一台机器上)。

I'm still trying to get WebDAV and Git working on Windows though. (either by Apache's or IIS's WebDAV).

不过,我仍在尝试让 WebDAV 和 Git 在 Windows 上运行。(通过 Apache 或 IIS 的 WebDAV)。

回答by louis

There is a way to setup Git with MSysGit without cygwin. http://java2cs2.blogspot.com/2010/03/setup-git-server-on-windows-machine.html

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

回答by Yaroslav

Try this instruction that uses SCM-Manager and IIS: Hosting Git, SVN and Hg (Mercurial) repositories on Windows with IIS

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

回答by Mladen Mihajlovic

https://github.com/projectkudu/kuduis the engine behind deployments on Azure. This might help for anybody still asking this question...

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