Wilson Mar bio photo

Wilson Mar

Hello. Hire me!

Email me Calendar Skype call 310 320-7878

LinkedIn Twitter Gitter Google+ Youtube

Github Stackoverflow Pinterest

She remembers everything you’ve ever sent



You may prefer accessing the videos via this playlist:


A playlist link lists the latest versions because, with YouTube, links to individual YouTube videos can become stale when newer versions are downloaded.


This screencast introduces the basic vocabulary of terms while comparing the different ways we store and reference files obtained from the GitHub cloud service. Let’s look at this one step at a time.

The diagram above is animated in PowerPoint and go with a narrative to each step. I then created a screencast video of it. And a step-by-step hands-on tutorial to explain each step.


GitHub.com is the cloud service that stores repositories, or repos for short. Git is a client installed on local machines.

If we open a repo we have not been designated as a contributor or member, and we edit that repo, GitHub automatically forks that repository under your personal GitHub account. The original repo we then references as the upstream remote. Each new fork contains all history of changes up until the fork occurred.

If we want a copy of a repo on our local machine, and don’t want the history of changes, we can click Download ZIP for the zip file to be downloaded.

After we unzip to a new folder, its files are accessible by a Mac Finder or Windows File Explorer as well as IDEs and custom apps to directly access.

PROTIP: Apps usually have their own default folder so they have a consistent place to look for assets. So some unzip directly into that default folder.

There is always risk of hardware or human failure, so we have traditionally make occasional copies and put them in some archive to fall back to. These backup versions are usually complete copies of entire files. This approach made it difficult to compare differences among different versions.

Each IDE may have its own utility to identify and merge differences.

Git and GitHub provide a superior approach to both offline backup and analysis of history because it provides higher detail than file-based approaches.

The Git client monitors changes in your files down to a single character within each individual line. Git maintains detailed history of those tiny incremental changes. Then Git synchronizes that detail with GitHub cloud servers.

More on DevOps

This is one of a series on DevOps:

  1. DevOps_2.0
  2. User Stories for DevOps

  3. Choices for DevOps Technologies
  4. Java DevOps Workflow
  5. AWS DevOps (CodeCommit, CodePipeline, CodeDeploy)
  6. AWS server deployment options

  7. Digital Ocean
  8. Cloud regions
  9. AWS Virtual Private Cloud
  10. Azure Cloud Powershell

  11. Git and GitHub vs File Archival
  12. Git Commands and Statuses
  13. Data Security GitHub
  14. Git Commit, Tag, Push
  15. Git Utilities
  16. GitHub API

  17. TFS vs. GitHub

  18. Jenkins Server Setup
  19. Jenkins Plug-ins
  20. Jenkins Freestyle jobs
  21. Jenkins2 Pipeline jobs using Groovy code in Jenkinsfile

  22. Dockerize apps
  23. Docker Setup
  24. Docker Build

  25. Maven on MacOSX

  26. Powershell Ecosystem
  27. Powershell on MacOS
  28. Powershell Desired System Configuration

  29. Ansible

  30. MySQL Setup

  31. SonarQube static code scan

  32. API Management Microsoft
  33. API Management Amazon

  34. Scenarios for load