Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Development Tools Git Basics Getting Started With Git Committing Changes

Why is git so unfriendly to Windows users?

It seems that all developers favors MAC...

2 Answers

Git is not necessarily Mac-friendly. Git was developed by Linus Torvalds (the creator of the Linux kernel). It's developed on Linux, so primarily, it's Linux-friendly.

As such, it was ported to POSIX-compliant operating systems first, such as BSD, Solaris and Mac OS X.

Windows is not POSIX-compliant so getting many command-line tools from the *nix world to run on Windows is usually a hacky process. That's why many installations of command-line tools include Cygwin and/or special shells to make the software run as good as possible on Windows.

So, Git is really Mac-friendly only by chance, as the core of OS X is Darwin — a Unix-like OS.

James Barnett
James Barnett
39,199 Points

> Windows is not POSIX-compliant

It's a little more complicated than that.

While it's true that OS X is POSIX-compliant, it's not technically correct to say that BSD-based or Linux-based distributions are POSIX-compliant.

Windows 7 is POSIX-complicant if you activate the Subsystem for UNIX-based Applications (SUA) feature.

I'm not suggesting installing SUA will make a Windows 7 box git-friendly. I'm suggesting that there's a difference between being Unix-like and being POSIX-compliant.

> Git is really Mac-friendly only by chance, as the core of OS X is Darwin — a Unix-like OS.

This conclusion is spot on.

I stand corrected. I admit, I was oversimplifying things a bit. I know of SUA's existence, but its purpose is something that's (mostly) over my head.

The OS-friendliness of Git is more or less a combination of (mostly) POSIX-compliance and Unix-likeness. (This statement is a guess as I've never really taken the time to look through the source code of Git.)

And finally, Git isn't even really human-friendly and that's by design. :)