I have a windows server which I can access locally or remotely over the internet through remote desktop connection, etc.

I want to set up a git repository (something similar to "trunk" in subversion), that can contain a series of repositories for multiple projects.

Does anyone know how I go about doing this? I want to do it using a GUI if possible. I have followed this Git Bash Tutorial but it's very long winded and not exactly what I'm after.

I'm using a Git client called MSYSGIT. Using this I just want to be able to set up remote repositories and start committing source code.

Any help would be greatly appreciated!

migrated from superuser.com Aug 25 '09 at 14:15

This question came from our site for computer enthusiasts and power users.

13 Answers 13

These days there is a "smart HTTP" upload feature, might even supersede the SSH access. No more private key generating is required, and installing should be easier, because the server component can be written in any language of choice:

If all fails, you can also choose to setup an Apache server, and use the standard git-http-backend CGI binary, see: What are the steps to setup git-http-backend w/ Apache on Windows?

  • Note that "these days" was over 2 years ago. As the top answer, I'd be curious to know if anything has changed in your mind? – RyanW Sep 7 '12 at 15:02
  • Well both are equally supported on Linux, and both are to stay. I don't know much about the Windows situation right now *, other then that I expect HTTP support to be the preferred solution. *since I'm mostly on Mac/Linux "these days" ;) – vdboor Sep 9 '12 at 16:11
  • Hi @vdboor I have one question. If we are using ssh we can have public key authentication so that we dont need to send a password each time we want to pull or push. Is this single sign in feature available in Smart Http method? I mean specifying the password once for all push/pull actions to the server. – TechJS Aug 16 at 8:22

Found this post - http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on-windows/ - check that out which should help.

(help me greatly)

You could look into using Cygwin + SSH + Gitosis to serve those needs, but unfortunately it will not be a simple point-and-click setup process. I have written a detailed blog post on my recent experiences (including setup procedure).

As for your requirement for this to be a primarily graphical experience, I would recommend all your client systems have TortoiseGit installed. This will prevent the need for using the command line for adding, commiting, push/pulling and so on.

  • Which SSH Client option is best to go with? - The TortoisePLink one or the OpenSSH? – Goober Aug 25 '09 at 17:03
  • Either works, but its probably best to go with openSSH unless you have a reason to do otherwise - if not, stick to the defaults. – Mark Embling Aug 25 '09 at 21:05

You can set it up under Cygwin:

If you go for cygwin, you could do so only on the server and run git-daemon under cygwin, but still use msysgit on the clients.

Making git work properly from cygwin

  • It should be noted that git-daemon only provides access using the git:// protocol (not ssh or file), and is read-only. To provide write-access it has to be done over ssh or the filesystem (or an abstraction over it). – Mark Embling Aug 25 '09 at 14:32
  • More details: kernel.org/pub/software/scm/git/docs/… – Mark Embling Aug 25 '09 at 14:35

Here's an alternative windows server for git https://github.com/jakubgarfield/Bonobo-Git-Server/wiki

Gogs is certainly worth a look: easy to use (several supported installation options), cross-platform (including Windows), lightweight, open source.

Here are some options:

  • I'm not going to give you a downvote on this purely because you disclosed your involvement. That's fine, but as a friendly reminder, if all you do is post links to this product then you will likely be suspended for spamming. That aside - welcome to Server Fault, we wish you a pleasurable journey :-) ! – Ben Pilbrow May 21 '11 at 20:24
  • I'm a very active user of StackOverflow - this, however, is my first post to ServerFault. Thanks for the welcome :) – Lilith River May 21 '11 at 20:44
  • 1
    It's not the ONLY GUI method - there's also gitstack.com (I am not involved in the project & haven't tried it). There also might be others. – rjmunro Jun 27 '12 at 16:01
  • Please note that this answer is over a year old, and gitstack was only introduced a few months ago. – Lilith River Jun 27 '12 at 16:38
  • Crappy Environment on Windows.... Poor you windows users pay your dollars up for bunch of crap. :) Use bonobogitserver.com Instead. – TechJS Aug 16 at 8:30

You don't need to use Cygwin just add CopSSH and your good to go. http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP

And here's yet another alternative windows server for git: WebGitNet

GitStack is the one I'm currently evaluating.

As I'm beginning this process too (setting up Git server on Windows), and this discussion is over a year old, I thought I'd add that to the mix.

Check also Gitwin - an OpenSSH enabled Git server for windows. A free edition is also available. Disclaimer: I am the developer :-)

Gitlab is a great solution, and includes a web based interface. To make it work within your requirements.

  1. Turn on hyperV on your windows server
  2. Spin up a Linux VM
  3. Install Gitlab on the VM
  • Gitlab takes 2 gigs of ram, not a reasonable idea. – TechJS Aug 16 at 8:42

If you have a 5-10 developer team, I would suggest go with vanilla git with ssh. Easy to setup and you have ssh to protect data in transit.

If you have multiple teams with some healthy turnover, assuming you have Windows active directory running, you might want to consider Atlassian bitbucket. We use bitbucket mainly for the following requirement: 1. Manage git repositories as projects, where we can provide self-service access control at project level. 2. LDAP login integration with AD group sync 3. Very low administrative effort

  • Dont use vanilla ssh on windows. Its crap. – TechJS Aug 16 at 8:43

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.