BACKGROUND IMAGE: deepagopi2011/stock.adobe.com
When it's time to evaluate a Git client, the best place to start is to examine how well the tool implements the five basic Git commands every developer should know, namely: init, config, add, status and commit. In this GitHub Desktop app tutorial, we will demonstrate how the popular Git client simplifies interactions with these five low-level Git commands. A subsequent GitHub Desktop tutorial will look at the GitHub Desktop client's support for branching, merging, reverting and interacting with remote repositories through push, pull and fetch commands.
GitHub Desktop setup
The GitHub Desktop app download and setup process is straightforward. It's a 77 MB download, and the .exe file will install quickly into the C:\Program Files folder. A GitHub Desktop setup screen will appear, asking users to optionally sign into their online accounts.
In this tutorial, we will demonstrate how to use various GitHub Desktop app features that do not require an online account. As a result, we will choose the option to skip this step, which takes the user directly to the repository listing page.
No GitHub Desktop 32-bit download available
GitHub Desktop for Linux distributions are available, and GitHub Desktop for Windows is an option. But all of these are 64-bit. For those looking for a 32-bit GitHub Desktop download, I'm afraid you are out of luck.
Before you perform a commit on any Git repository, provide a username and email address so the tool can track who is doing what. With a standard Git installation, you would do this by issuing a git config command. The GitHub Desktop setup, though, lets you skip this somewhat onerous step through the command-line tool. Simply go to File > Options, and select the Git tab of the Options page.
Local GitHub Desktop client use
You can use the GitHub Desktop client locally without connecting to a remote repository. The repository explorer page provides a Create New Repository option that wraps calls to the git init command with a GUI.
As files are edited, deleted or added to the file system, the GitHub Desktop app immediately recognizes the modifications and updates the Changes tab. It lists the names of the various files that have been manipulated, along with symbols such as color-coded plus or minus signs that indicate the file's current state. This visual feedback replicates the information that a user would otherwise obtain by invoking a low-level git status command.
A checkbox also appears next to each file that has changed, and if checked, that change will occur with the next commit to the repository. The checkbox essentially simulates a call to the git init command, as selecting it will stage the file for the next commit.
In terms of issuing a commit, the tool provides two input fields where a user can provide a message and a description. The blue button below the input fields (see above) issues a new commit to the current branch.
GitHub Desktop app review
With the GitHub Desktop app, it is extremely simple to initialize a repository, stage files and issue commits. The tool covers the five basic Git commands.
The biggest drawback I see with the tool in this capacity is its limited support for the git config command. There is an option to specifically edit the name and email address properties that are attached to each commit, which are stored within Git configuration files, but the tool does not provide any facilities to edit any other configuration settings.
My assumption is that GitHub's goal with this application is to keep this DevOps tool as simple as possible so as not to confuse the new Git users for whom it is designed. If you keep that in mind, the GitHub Desktop app makes working with the five basic Git commands a simple and straightforward process.