Environment

Environment

At the heart of GitHub is an open source version control system (VCS) called Git, which is responsible for everything GitHub-related that happens locally on your computer.

Besides Git and GitHub you will also need a text editor, but I assume you already have one on your device.

Get Everything Set up

If you’ve never used Git or GitHub before, there are a few things that you need to do. It’s very well explained on GitHub, but repeated here for simplification.

  • Get a GitHub account.

  • Download and install Git.

  • Set up Git with your user name and email.

    • Open a Git Bash shell and type:

      $ git config --global user.name "Your name here"
      $ git config --global user.email "your_email@example.com"
    • Then store your credentials by typing:

      $ git config --global credential.helper wincred

Learn the Basic Terminology

  • Repository - most basic element of GitHub. They're easiest to imagine as a project's folder.

  • Remote/Local - repository can be hosted on a server (our case GitHub), or on a local machine.

  • Collaborator/Contributor - contributor is someone who has contributed to a project, while collaborator is a person with read and write access to a repository who has been invited to contribute by the repository owner.

  • Downstream/Upstream - when local and remote repository are connected, remote is considered upstream, and local downstream.

  • Public/Private - private repository can only be viewed or contributed to by their creator and collaborators, public by everybody.

  • Clone - copy of a repository that lives on your computer instead of on a website's server somewhere, or the act of making that copy.

  • Fork - personal copy of another user's repository that lives on your account.

  • Branch - parallel version of a repository.

  • Pull - refers to when you are fetching in changes and merging them.

  • Commit - "snapshot" of individual change to a file (or set of files).

  • Push - refers to sending your committed changes to a remote repository.

  • Issue - suggested improvements, tasks or questions related to the repository. Issues can be created by anyone (for public repositories).

Last updated

Was this helpful?