Personally I'd just install Cygwin and proceed with 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 to deploy to doesn't have the usual collection of 1990s protocols available (for example, no FTP). In fact, there is no access to any graphical interface. Deployment is handled through Git. Changes need to be pushed to a 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 Windows 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 front ends 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 the KISS principle here for people that do not use version control for anything else and just want to "upload" their websites.