Skip to content

Git and GitHub definitions and notation

Wesley Bland edited this page Dec 9, 2015 · 5 revisions

Next: Overview of the MPI Forum's GitHub usage


There is a difference between Git and Github:

  1. Git is the version control system tool that we use. You run it on the command line, and/or via an integrated development environment, and/or Git GUI.
  2. GitHub (i.e., github.com) is a hosting site for Git repositories. It contains a lot of features and tools surrounding Git repositories that we find useful for both code development and collaborative document authoring.

Git Concepts

Git has a concept that is worth defining before going further:

Unlike other version control systems such as Subversion and CVS, git is distributed. Specifically:

  • Subversion and CVS have a single "upstream" repository from which you check out files and then commit changes.
  • Git allows you to pull from and push to multiple different remote repositories -- you are not chained to a single upstream repository.

If you're new to git, this may seem crazy / chaotic. Take it on faith for the moment: working with multiple upstream repositories can be a genuinely useful thing to do (especially within the context of the MPI Forum and its working groups).

GitHub Concepts

GitHub has two main concepts that we should define before going further:

  1. Repositories. GitHub repositories are the same thing as git repositories. For example, you can push and pull from a git repository on your local laptop to the corresponding git repository hosted on github.com.
  2. Organizations. GitHub organizations are groupings of repositories and users.

GitHub Notation

We have a GitHub organization named mpi-forum. In that mpi-forum GitHub organization, we have an mpi-standard repository that contains the LaTeX source code for the MPI standard documents. We have also added a bunch of users to the mpi-forum organization, and then given specific permissions to those users to allow them to read, write, and administrate its repositories.

The GitHub notation to absolutely, uniquely specify this repository is mpi-forum/mpi-standard (i.e., the mpi-standard repo in the mpi-forum organization).


Next: Overview of the MPI Forum's GitHub usage