GitHub became one of the most popular places for free and commercial software development the last few months. The market around the great DVCS Git initiated by Linux Torvalds became more and more popular. It is fast and fixes many problems for distributed code development by design.
A colleague of my gave me a hint that there is a mac client for GitHub which kicks asses. So let's review this peace of software.
There is a nice tool called Tower which was my favorite to become my git client beside the console up to now. I used git as user the most time and up to now I hadn't the need to buy Tower as long as there is no project using Git I am involved in.
But let's have a closer look to the offline Mac client now. First download the App and install it into you application directory and run it.
Enter your git account login data or sign up for a free github account with this screen and continue.
If you plan to share an existing local git repository GitHub for Mac lists you all local git repositories it found in your home directory.
If you have a paid account you are able to host private repositories as well. I only have a free account for open source and public code projects. I checked the 'Push to GitHub.com' checkbox to share this project.
Now the local repository was created in my home directory ~/github/Victoria/
I copied the project files to the directory and the github client recognized the changes.
Add a commit comment which explains the changes in my case it was the initial import.
Click 'Publish Branch' in the right upper corner to sync the local changes to GitHub.com
Git is designed to work very well with branches and merging. Here I created a branch for experimental changes to my code and published it.
As you can see in the right upper corner while the client is publishing the changes is shows a process.
You can review your changes in the changes tab. Now we switch to GitHub where a friend of my did some review and made a change on my commited source code. This is a nice feature which GitHub provides. He sent a so called 'Pull Request' to me with his change. This means he want me to create his change into my branch. A very useful functionality.
Lets merge his 'Pull Request' into my experimental branch.
Back in the GitHub client for Mac i am now able to sync this change down to my local repository clone.
I hope this gives you a first overview what functionality this new GitHub client for Mac already has. I think in future releases this tool will become more powerful and makes the interaction with GitHub more easy.