8
Introduction to Git and GitHub Mathieu Benoit

Introduction to Git and GitHub Mathieu Benoit. Why use Git Git, like SVN, is a Version control system pyEudetAnalysis and AllPix now sitting on a CERN

Embed Size (px)

Citation preview

Page 1: Introduction to Git and GitHub Mathieu Benoit. Why use Git Git, like SVN, is a Version control system pyEudetAnalysis and AllPix now sitting on a CERN

Introduction to Git and GitHub

Mathieu Benoit

Page 2: Introduction to Git and GitHub Mathieu Benoit. Why use Git Git, like SVN, is a Version control system pyEudetAnalysis and AllPix now sitting on a CERN

Why use Git

Git, like SVN, is a Version control system

pyEudetAnalysis and AllPix now sitting on a CERN SVN server : • Centralized• Require some kind of CERN ID• Not very collaborative

In practice, people do develop nice things but do not contribute back

• Lack of feedback • No incentive

Page 3: Introduction to Git and GitHub Mathieu Benoit. Why use Git Git, like SVN, is a Version control system pyEudetAnalysis and AllPix now sitting on a CERN

Why use GitSVN : Centralized server, All commits go to server

Discourage contribution!• My code is too ugly ! • I’m not finished just yet!• Nobody cares about

what I do anyway …

His code

SVN Repository

Your codeMy code

commit commit commit

Page 4: Introduction to Git and GitHub Mathieu Benoit. Why use Git Git, like SVN, is a Version control system pyEudetAnalysis and AllPix now sitting on a CERN

Why use Git

Git Hub

My Repo

A CERN based repo

Decentralized :

• Each repo contains all the others

• You can keep record of your change locally, work on multiple version

Page 5: Introduction to Git and GitHub Mathieu Benoit. Why use Git Git, like SVN, is a Version control system pyEudetAnalysis and AllPix now sitting on a CERN

Why use Github• GitHub is a Git repository web-based hosting service which

offers all of the functionality of Git as well as adding many of its own features. Unlike Git which is strictly a command-line tool, Github provides a web-based graphical interface and desktop as well as mobile integration. It also provides access control and several collaboration features such as wikis, task management, and bug tracking and feature requests for every project.

• GitHub offers both paid plans for private repositories, and free accounts, which are usually used to host open source software projects. As of 2014, Github reports having over 3.4 million users, making it the largest code host in the world.

• GitHub has become such a staple amongst the open-source development community that many developers have begun considering it a replacement for a conventional resume and some employers require applications to provide a link to and have an active contributing GitHub account in order to qualify for a job

Page 6: Introduction to Git and GitHub Mathieu Benoit. Why use Git Git, like SVN, is a Version control system pyEudetAnalysis and AllPix now sitting on a CERN

Some projects on GitHub

• ROOT : https://github.com/root-mirror/root

• EUTelescope : https://github.com/eutelescope/eutelescope

• EUDAQ : https://github.com/eudaq/eudaq

• CERNOPs : https://github.com/cernops

• CMSSW : http://cms-sw.github.io/

• Etc …

Page 7: Introduction to Git and GitHub Mathieu Benoit. Why use Git Git, like SVN, is a Version control system pyEudetAnalysis and AllPix now sitting on a CERN

Social aspect of Github

• Social network-like interface– Follow other people work (“friends”)– Favors sharing , commenting– Statistics, various useful plots