Git est un outil de gestion de version. Contrairement à Subversion, il ne repose pas sur un repository central : pour cette raison on le désigne comme un DVCS (Distributed Version Control System). Comme tous les DVCS, il permet d'avoir sur sa machine de développement local, sans nécessité d'accès au réseau, l'ensemble des versions du repository.
Il existe de nombreux tutoriaux et documentations en ligne sur Git et sous outils associés. En particulier :
- La documentation officielle, avec en particulier le Git Book
- Une présentation (courte!, en français) des principaux concepts/commandes de Git
- Une introduction à Git écrite par le LAL
En cas de besoin, n'hésitez pas à contacter le helpdesk.
Contents
Clients Git
Le client Git standard (commandes en mode ligne) est installé sur toutes les serveurs interactifs Linux du LAL.
Il existe de nombreux clients pour toutes les plateformes, en mode ligne, avec un interface graphique ou intégrés aux environnements de développement type Eclipse, PyCharm, Xcode... N'hésitez pas à contacter le Service Informatique (helpdesk) si vous souhaitez des conseils
Serveur Git au LAL
.Il n'y a pas de service d'hébergement de Git au LAL L'hébergement Git se fait à travers des plateformes de "développement collaboratif", de type GitHub ou GitLab.
GitHub
GitHub est la plateforme d'hébergement de projets Git la plus populaire actuellement. Elle est principalement dédiée aux projets open-source : par défaut, un projet est visible de tout le monde (par contre les contributions peuvent être restreintes à certains utilisateurs).
Le LAL possède un espace sur GitHub qui peut être utilisé pour l'hébergement de tous les projets liés au LAL. Il est possible dans cet espace d'avoir quelques projets privés (visibles uniquement par les membres du projet) : contactez le helpdesk en cas de besoin.
GitHub comme toutes les plateformes de développement collaboratif permet à la fois à toute personne de contribuer à un projet et aux responsables du projet de contrôler de façon très stricte les contributions intégrées au projet (à travers le mécanisme des pull request). Il permet aussi la discussion d'une contribution avec son auteur avant son éventuelle intégration au projet.
Toute personne peut avoir un compte GitHub et y héberger ses projets. Même sans contributeurs extérieurs au projet, GitHub peut être utilisé comme backup Git ou comme moyen de partage entre plusieurs postes de travail.
Un des avantages de GitHub est qu'il permet l'ajout ultérieur de contributeurs de toute origine, puisque n'importe qui, quelque soit son statut ou sa localisation, peut avoir accès à la plateforme.
GitLab
GitLab est un service très similaire à GitHub. Mais à sa différence, en plus d'être un service d'hébergement utilisable dans des conditions similaires, c'est aussi un logiciel open-source utilisable pour créer des services d'hébergement privées. A l'IN2P3, il existe un service GitLab ouverte à toute la communauté et à ses collaborateurs. Les deux grandes différences par rapport à GitHub sont :
- L'accès à GitLab est possible pour tout membre de l'IN2P3 mais il est discrétionnaire pour les autres personnes qui doivent pouvoir justifier qu'elles collaborent à un projet de l'IN2P3.
- Il est possible d'avoir autant de repositories privés qu'on le souhaite.
A part cela, les fonctionnalités sont très similaires à celles de GitHub (les pull requests s'appellent des merge requests).