Ceci est une ancienne révision du document !


Git

FIXME Work in progress…

Tout le monde a au moins une fois travaillé sur un projet de groupe en travaillant sur différents documents. Même si aujourd'hui on peut travailler tous ensemble sur des documents en ligne, parfois on fait face à des problèmes du type: “Où sont passées mes modifications?”, “Qui a écrit cette partie?”, “Quelle est la version la plus récente de ce document?”, … Les logiciels de gestion de version permettent de résoudre tous ces problèmes. A chaque fois que des documents sont modifiés, ces logiciels enregistrent la nouvelle et l'ancienne version, ainsi que des données par rapport à cette modification (auteurs, date et heure, commentaires, …). Cela les rend indispensables pour chaque projet, ce qui en fait des outils indispensables au ClubElek. On va parler de Git, un logiciel libre qui est de plus en plus utilisé.

Panoramique

Git est un logiciel de gestion de version open-source et décentralisé (c'est-à-dire que l'utilisateur n'est pas forcé de se connecter à un serveur pour travailler sur le code source). De plus, il possède plusieurs avantages par rapport à d'autres logiciels comme Subversion:

  • comme déjà dit, Git est décentralisé: une fois téléchargé les documents à modifier, on peut y travailler partout et envoyer ses fichiers quand on le retient opportun, alors que dans un logiciel centralisé il faut être toujours connecté au dépôt pour travailler sur le code. Avec Git, on télécharge tout le projet en local, sans avoir besoin d'aller sur le dépôt central
  • Git est un logiciel rapide et performant (surtout si on veut créer une nouvelle branche du projet, voir les détails plus loin)
  • il y a de nombreux sites qui hébergent des projets versionnés avec Git comme GitHub ou GitLab, où on peut travailler sur des projets publics ou partager les vôtres (que ce soit avec tout le monde ou seulement avec votre équipe)
  • j'ai déjà dit qu'il est open-source?

Bien sûr, Git a aussi des défauts, comme sa complexité (due au fait que le système est décentralisé) ou (pour certains) le fait de devoir travailler sur la console (les programmes avec interface graphique n'offrent pas tous les commandes, mais ils suffisent pour une utilisation “pas trop avancée”). On va essayer ici de lister les commandes de base, en sachant qu'il y a beaucoup de sites Web pour aller plus loin (comme le guide officiel de Git). Si vous souhaitez apprendre à utiliser Git rapidement, voici un site où l'on peut tester les commandes proposées en ligne.

Installation

Git étant un programme, il faut naturellement le télécharger et l'installer.

Linux

Git devrait être déjà présent dans votre ordinateur, sinon installez les paquets git-core ou git et openssh-client (pour l'authentification via SSH, voir plus loin). Ou bien vous pouvez passer par le site officiel: http://git-scm.com/downloads.

Windows

Mac OS X

FIXME La procédure devrait être semblable à celle de Linux, mais on doit vérifier.

Vous pouvez passer par le site officiel.

Comment avoir accès en lecture/écriture aux dépôts

Les dépôts sont des grains GitLab sur le Sandcats du club.

Comment cloner un dépôt

Linux / Mac OS X

Tout peut se faire en ligne de commande :

  • Ouvrir un terminal et naviguer jusqu'au dossier où on veut cloner le dépôt.
  • Utiliser la commande donnée par Gitlab

Windows

On peut le faire graphiquement ou en ligne de commande.

Graphiquement :

  • Ouvrir un explorer et naviguer jusqu'au dossier où on veut cloner le dépôt.
  • Faire un clic droit ⇒ Git GUICloner un dépôt existant. Mettre l'URL donnée par Gitlab comme URL du dépôt.
  • Cliquer sur Clone.

En ligne de commande :

  • Lancer Git-Bash
  • Suivre la même méthode que sous Linux

Documentation

Il existe de nombreux tutoriels à propos de Git sur internet.

En voici quelques-uns :

N'hésitez pas à demander conseil à des gens du ClubElek qui sont habitués à Git.