

Ask HN: How is Git on Windows today? - johnsto19

I have heard that git on Windows has been shaky in the past, but I am wondering if things are better today?<p>I will need to setup git on a Windows server, and then I am wondering what the best way for developers to use it on their Windows boxes would be?<p>Note: while you may think command line is the best way to use git, the people around me would prefer a Visual Studio plugin or something along those lines.<p>Also: how common is it to install git on a Windows server? Is it probably just best to stick with something like SVN?
======
barrydahlberg
I use msysgit daily on Windows 7 against a github account. For the most part
things work fine but there are a few things that annoy me:

\- Disagreements about case insensitive paths sometimes confuse git. Renaming
a folder simply to change its case is the most common one that catches me.

\- I run everything through the bash shell which works fine but is a pain to
connect to Windows batch files. This makes automation harder than required.

\- Line endings... I just turn off any automatic conversion and use a decent
editor that doesn't mind.

I initially used the GUI that comes with it and that works fine but I find the
command line faster to work with. The advantages of git make the above
problems worth it to work around for me.

I don't run my own server so can't comment on that. From what I have read
linux setup would be much easier to do.

~~~
tomfakes
I've used Git on Windows for over a year. msysgit is great, once you've worked
out the line endings (the installation asks you for this setting)

Using the windows CMD shell works fine.

Git comes with its own SSH that works different to other SSH implementations.
I've had problems where Git is earlier in the path, so its SSH was overriding
the one I wanted. This broke cwRsync until I worked it out.

~~~
barrydahlberg
This is why I only use it through the bash shell, so it can't mess with
anything else. Inconvenient though.

------
dmethvin
Do the devs already know git, or will it be a new experience for them? No
matter what tool(s) you use, learning to use git effectively will be the
hardest part.

I use TortoiseGit integrated into Windows Explorer for most stuff, and drop
down to the command line in the odd situation where it's needed. I can't give
much feedback about the server side, I'm using GitHub.

~~~
johnsto19
I am pleased to see TortoiseGit, does it have any big issues? I remember
hearing about it a while ago being very "beta" software.

~~~
dmethvin
TortoiseGit has been working fine for me, no crashes or problems. They've done
a pretty good job of taking the most common scenarios and making them easy to
do, even for a Windows user. (And I say that as a Windows user:)

------
mkramlich
It is so easy to rent a Linux server these days that I suspect the only reason
someone is "required" to run it on a Windows server is because, well, they
don't have a good reason, just corporate-bureaucratic IT bullshit.

------
mberube
Git is usable on Windows - I've used it for the past year with cygwin. However
my colleagues mostly switched to msysgit as they had issues with cygwin -
msysgit looks like a better choice. Our server is on Linux though - I'm not
sure how it will fare on Windows. We went through a few gotchas (crlf, case-
insensitivity) but it was manageable.

Manageable is the most I can say though. I've come to the conclusion that
going through the trouble of msysgit/cygwin is not worth it. I don't know if
it's an option for you but have you considered other DVCS? From what I heard
Mercurial is pretty good on Windows and you'd get pretty much the same
advantages as with Git. Others might be able to tell you more about it.

I wouldn't go back to SVN on any platform though - I got addicted to local
branches and the speed of having the whole repo locally.

------
zorander
I've been using it daily for over three years on cygwin. If you don't depend
on case-sensitive paths and don't have symlinks in your repository, it's
great. I use it for work and for personal stuff, and I have zero desire to
find a new tool.

Git is, given its heritage, heavily optimized for unix-style (especially
linux) vfs implementations, so it is slower on windows than it is on osx or
linux, however even with a fairly sizeable repository it's completely usable.
It's not noticeably slower than the alternatives on windows and it's generally
much faster on unix.

Go for it.

------
aufreak3
I've been using git on windows exclusively for about a year now (I think), in
an environment where the central repo is subversion.

The initial import took a ridiculous amount of time (so I did it on a mac
eventually), but from that point on I've been flying. The only itchy bit so
far is the autocrlf part.

I've found "gitk" and "git gui" good as well. You might find them more than
merely adequate. I've used Tortoise with svn, but not with git, so dunno about
that, but I'd recommend git gui without hesitation.

------
plorkyeran
I've used msysgit on a daily basis for about six months now and have had very
few problems. The biggest one is that Visual Studio locks files while updating
intellisense, so anything that updates a large number of files at once while
the solution is open has a decent chance of failing on at least one file. This
is only really a problem when doing complicated rebases though, and even then
at worst you just have to abort it and start over.

I've never used a gui for git, so I can't comment on how well they work.

------
suraj
I have been keeping tabs on TortoiseGit and it has become a lot more usable. I
usually shy away from command line on windows and my git usage on windows is
very light. TortoiseGit seems sufficient for day to day activities not
involving any git magic.

For setting up a git server on windows please check out gerrit (
<http://code.google.com/p/gerrit> ). It is a pure Java implementation so
should work reasonably well on Windows.

------
mullr
msysgit is quite good, provided you turn off linefeed conversion. I wrote
about some ways to make it easier for day to day use, if you're interested:
[http://mullr.wordpress.com/2010/06/01/configuring-msysgit-
fo...](http://mullr.wordpress.com/2010/06/01/configuring-msysgit-for-improved-
awesome/)

Avoid cygwin git; it appears to work at first, but it gets very slow when you
deal with large repositories.

None of the end-to-end GUIs I've used (I've tried about 5) do a respectable
job. They all try to layer a svn-style view on top of git. Which is, of
course, nothing like svn. Have them watch <http://blip.tv/file/4094854>, then
offer to hold their hand while they get used to the command line. It's worth
it. When you really need to click on things, git gui and gitk do the job fine.

~~~
zbanks
Why should one turn off linefeed conversion?

I've used git on windows very briefly in the past, using this feature, and it
seemed pretty nice. I'm planning on having some window-based coworkers use git
soon, and does this really become a big problem?

~~~
mullr
In my experience, it tends to get confused and intermittently forget what it's
doing. When this happens, it thinks that all your files are modified. This is
very distressing. The workaround, which works great for single-platform teams,
is to just turn off linefeed conversion altogether. The problem may very well
have been fixed, but I still do it.

------
silentbicycle
As someone accustomed to using git on Unix, I haven't had problems using
msysgit on a (cygwin'd, etc.) system. I'm not sure how developers expecting
Visual Studio and unfamiliar with the command line would do, but the many
small, quirky "Windows is clearly an afterthought" issues present ~2 years ago
seem to be gone.

------
Bluem00
I use msysgit locally on my machine with a svn repository upstream. Everything
seems to work fine for me in my daily work. Like another commenter noted, the
initial import took a really long time, and would stop seemingly randomly.

------
gte910h
Iv'e found it having no problems with it. It is by far a secondary system for
me, but I have been doing GAE, python, and web stuff on it without issue.
Msysgit.

