GitHub

GitHub is a hosting service for software projects that use git for version control. GitHub allows us to upload software projects to the cloud in order to facilitate collaboration. You can control who can and can't contribute to a project and provides tools like bug tracking.

It is important to note that GitHub and Git are very separate things.

  • Git is a version control system that allows to keep a history of changes made to source code files
  • GitHub is a hosting service that allows to upload Git repositories to the cloud for easier collaboration and sharing

Introduction to Git and GitHub

If you have never used Git or GitHub, we recommend that you get familiar with it. They are incredibly powerful tools. GitHub has a series of simple tutorials that you can follow to get the basics. We particularily recommend to read at least:

  • Hello World to learn how to create a repository on GitHub
  • Understanding the GitHub Flow to learn how to use GitHub's Web interface to contribute to a project
  • Git Handbook to learn the basics of Git and how to do the same as the tutorial above but using Git directly in the command line. Using the terminal may not seem intuitive, but once you understand how it works, it will greatly improve your productivity.
  • Forking Projects to learn how to contribute to projects where you don't have write permissions.

Ecam-Eurobot organization

GitHub allows us to create organizations so that multiple users can easily contribute to multiple projects in the organization. We created the Ecam-Eurobot organization to put all our code under.

You can for example find the 2018 repository containing the codes for the 2018 robots, or the source code for this book in the Tutorials repository.

We create a new repository for each year. This allows us to keep old members in the organization with write access to the projects they made and welcome new members with write access to the repository they contribute to.