GitHub Desktop


Intro

GitHub Desktop is a version control system that harnesses the power of Git and filters out the complexity of working with the command line interface (CLI). It allows an individual to backup their work incrementally and to collaborate easily with others.


Terminology

  • Commit - submit the changes you've made to your local repo
  • Git - the underlying technology that tracks the changes in your project
  • origin - an alias to the remote repo's URL
  • master - the default Branch that is set up
  • Push - submit what is in your local repo to the remote repo
  • Pull - retreive the project from the remote repo
  • Repo - Repository - the project or folder that you're having Git track

Environment

It looks like this:

Folder - (Un-Committed)
Local repo - (Committed)
Remote repo - (GitHub)

Workflow to set up GitHub Desktop

  1. Clone/Create/Add a repository (setup the local repo)
  2. Choose which Branch you're using (if you're using more than one Branch)
  3. Write a summary note and Commit to your local repo
  4. Push your changes to the remote repo

Once your repo is set up, the main flow is simply Commit and Push


Setup the local repo

Navigate either to:
the MenuBar and choose File
~or~
directly under the MenuBar, click the Current Repository and choose Add

  • Clone repository

    This is the option to choose if you'd like to clone a remote repo that is already hosted on GitHub

  • Create new repository / New repository

    This is the option to choose if you'd like to initialize a new local repo on your computer

  • Add existing repository / Add local repository

    This is the option to choose if you've initialized a local repo, but have not hosted it on GitHub


Choose your Branch

Navigate to directly under the MenuBar and click Current Branch

This will display all the Branches that the current repo has. There is by default only one - master

If you are working in a group, you'll most certainly be using multiple Branches - name them appropriately


Perform your first Commit

Every commit needs a summary note so that the changes that have been Commited are documented