Alexander Beletsky's development blog

My profession is engineering

Github for Windows - Yay!

For quite long time Windows users of github had a huge envy towards Github for Mac - the application that makes work with github based repositories as simple as possible. A lot of people, especially ones who are not familiar with Git, experiencing some issues with github initially. No surprise, extensive command-line, SSH, public/private keys - might sound scary for GUI addicted persons.

December 2011, Phil Haack joined github.. so, the world hold the breath, to see what actually will be done by Phil and team to improve overall Github experience on Windows. And the day has come! Today Github:Windows is officially shipped.

What’s the point?

As well as Mac users, Windows users are also much got used to UI. For long time, if you want to deal with Git on windows, you have to go and install msysgit. It’s a great product and works great actually, but you have to spend some time of learning of Git to do very basics operations. Moreover, if you hadn’t had any experience with distributed version control systems - you’ll be to much confused by new words like: pull, push, clone, fork, cherry-pick and so on. Github for Windows is about to fix that.

Go ahead and install it

Installation is very easy. Just click the download link, to get web setup file. Two things are gonna installed on you machine: Github client itself and Git shell - the powershell command line for git.

Github for Windows client

At the first run it will do some configuration stuff. It will ask you for github credentials.

As you logged on, it will show you some basic account information.

It will also add new public SSH key your account. That was a little unexpected as I received email notification for github about that. The information that it’s gonna do that, probably should be mentioned during setup.

Then it tries to locate all repositories. It scans the home folder, but I don’t keeping repositories there (just some temp copies), so I unselected everything.

As I tried to go straight and create new repository the application crashed. Oppps.. It reproduced several times, but after gone. Anyway, I contacted with detailed steps and info.

Finally, after I changed the default folder and wait till it’s completed scanned (that took about 3 mins on my machine), I got client working.

Even if I’m not huge fan of METRO style - I was really pleased with UI. It looks very nice, application works fast and responsive. It takes almost no effort to overview application features.. everything is very intuitive.

It’s of course not the perfect. I tried to do some commits, that seems to be fine.. but sync of the repo failed. It also fails to switch the branches in 95% cases.

Git Shell for command line

Next good addition is Git Shell, powered by PowerShell (nice!). It utilizes famous posh-git project. The most useful features for me now: ‘Tab’ support that provides suggestion for the command and ‘Stats’ that are shown at command prompt, showing current repository state. There are probably a lot of other cool things there, that I haven’t discovered yet.

If you are fan of Bash, or pure Cmd.. or custom stuff (as Console 2) it very easy to change that, right in application configuration.


Even if it’s just first release, it’s very solid and a lot of features already there. Issues exist, but I hope it will be cleared out soon.

What make me a little wonder, that the project is not open sourced? I hope it’s just the question of time, I’m pretty sure that a lot of people are waiting to see what’s inside and submit some pull requests.

Will I personally use that product? Probably, not. I’ve spent too many time in Command-line of my favorite Far Manager, that UI is more noise that help. What I will use is Git Shell, thought. I’ve heard a lot about posh-git, now it’s time to try.

But for all people, who are just starting using Github on Window - Github:Windows would be my first recommendation.