问题
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.
So I should use HTTP or 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?
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?
回答1:
Bonobo Git Server
https://bonobogitserver.com/
GitAspx - By Jeremy Skinner
https://github.com/JeremySkinner/git-dot-aspx/
https://github.com/JeremySkinner/git-dot-aspx/downloads
Install Instructions
https://www.jeremyskinner.co.uk/2010/10/19/gitaspx-0-3-available/
Git Web
https://gitweb.codeplex.com/
WebGitNET
https://github.com/otac0n/WebGitNet
Alternatively ... (non-IIS, but highly recommend, free and open-source)
Gitea (fork of Gogs): https://gitea.io
Gogs: https://gogs.io
SCM Manager allows you to easily set up revision control endpoints for Git, Hg, and SVN under the same hosting process. HTTP/HTTPS is supported along with built-in user authentication.
https://www.scm-manager.org
https://bitbucket.org/sdorra/scm-manager/
回答2:
Git supposedly supports webdav, and should work with any webdav server. However, it's really slow compared to the native git protocols.
http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt
回答3:
Today Git ain't too bad on Windows these days.
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=gstoolkit which 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).
I'm still trying to get WebDAV and Git working on Windows though. (either by Apache's or IIS's WebDAV).
回答4:
There is a way to setup Git with MSysGit without cygwin. http://java2cs2.blogspot.com/2010/03/setup-git-server-on-windows-machine.html
回答5:
Try this instruction that uses SCM-Manager and IIS: Hosting Git, SVN and Hg (Mercurial) repositories on Windows with IIS
回答6:
https://github.com/projectkudu/kudu is the engine behind deployments on Azure. This might help for anybody still asking this question...
来源:https://stackoverflow.com/questions/51619/how-to-set-up-git-bare-http-available-repository-on-iis