introduction to git and github mathieu benoit. why use git git, like svn, is a version control...
TRANSCRIPT
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 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
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
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