Personally I'd just pop open a terminal and brew-up the usual *nix shell tools, but I need to make a software recommendation to some clients that need something a bit more newbie friendly.
The situation is that several clients have developed website(s) of the mostly static HTML sort, but the server they need deploy to doesn't have your usual collection of 1990s protocols available (for example, no FTP). In fact, there is no access at all to the front-end server. Deployment is handled through Git. Changes need to be pushed to a remote repository that is accessible only via SSH key login. Any commits to the master branch pushed by the authorized key trigger a hook script that deploys the site to the production servers.
I am looking to suggest a Git client for OS X that:
- makes it relatively simple to setup and initialize…
- …one or more local repositories.
- …a single git + ssh remote.
- …authentication using an RSA key pair (generation of this would be a bonus).
- has a simple interface where a basic workflow of committing and pushing is easy to accomplish without understanding the intricacies of distributed version control.
There is a GitLab instance available for each client that has one project per domain and makes adding their public key fairly easy. It also gives the clone/remote URLs for each project and makes it fairly easy to check what the status of the remote repository is.
Open source would be preferred, but any reputable freeware would be acceptable. What client software should I point them to?
Edit: Most suggestions to date seem to focus on full-blown frontends to all of Git's functionality. I'm looking for something more pared down that only covers the basics and is better suited for a specific task than at running with the big dogs. I'm thinking KISS principle here for people that do not use version control for anything else and just want to "upload" their websites.