22

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!

stukelly
  • 1,015
  • 13
  • 18
Goober
  • 351
  • 2
  • 4
  • 6

12 Answers12

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?

vdboor
  • 3,630
  • 3
  • 30
  • 32
  • 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 07 '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 09 '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. – HHHHHH Aug 16 '18 at 08:22
2

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.

Mark Embling
  • 131
  • 3
  • 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
2

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)

Edit: the post is no longer up but still available trough wayback machine

Gust
  • 3
  • 2
2

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

Ben Mordue
  • 121
  • 2
1

Here are some options:

Lilith River
  • 111
  • 4
  • 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 http://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 https://bonobogitserver.com/ Instead. – HHHHHH Aug 16 '18 at 08:30
  • This is now a community wiki so everyone can add options. The original answer was 6 years out of date. – Lilith River Aug 16 '18 at 18:27
1

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

Daniel O
  • 1,075
  • 1
  • 8
  • 9
1

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

rkthkr
  • 8,503
  • 26
  • 38
  • 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: http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#setting-up-a-public-repository – Mark Embling Aug 25 '09 at 14:35
0

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

DalSoft
  • 101
  • 3
0

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

cregox
  • 167
  • 1
  • 8
0

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.

RyanW
  • 528
  • 3
  • 9
  • 19
0

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
Eric
  • 544
  • 1
  • 5
  • 15
0

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