How to setup GIT bare HTTP-available repository on IIS-machine
-
09-06-2019 - |
Question
server already runs IIS to serve 80 and 443 port over TCP. I want to make 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 80 and 443 ports! Is there any way to publish GIT repository over IIS? Does GIT use WebDAV ultima analysi?
Update. Seems that git HTTP installation is read-only one. That's sad. I've intended to keep stable branch on build server and redeploy using hook on push. Does anyone see workaround beside using SVN for that branch?
Solution
Bonobo Git Server
GitAspx - By Jeremy Skinner
http://github.com/JeremySkinner/git-dot-aspx/
http://github.com/JeremySkinner/git-dot-aspx/downloads
Install Instructions
http://www.jeremyskinner.co.uk/2010/10/19/gitaspx-0-3-available/
Git Web
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 setup revision control endpoints for Git, Hg, and SVN under the same hosting process. HTTP/HTTPS is supported along with built-in user authentication.
http://www.scm-manager.org
https://bitbucket.org/sdorra/scm-manager/
OTHER TIPS
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
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).
There is a way to setup Git with MSysGit without cygwin. http://java2cs2.blogspot.com/2010/03/setup-git-server-on-windows-machine.html
Try this instruction that uses SCM-Manager and IIS: Hosting Git, SVN and Hg (Mercurial) repositories on Windows with IIS
https://github.com/projectkudu/kudu is the engine behind deployments on Azure. This might help for anybody still asking this question...