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 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
Why use Git SVN : 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 … SVN Repository commit commit commit My code Your code His code
Why use Git A CERN based repo Git Hub Decentralized : Each repo contains all the others You can keep record of your change locally, work on multiple version My Repo
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
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 …
Social aspect of Github Social network-like interface Follow other people work (“friends”) Favors sharing , commenting Statistics, various useful plots
Demo https://github.com/mathieubenoit/aGitDemo