Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Git
  3. Aide
Extrait - Git Maîtrisez la gestion de vos versions (concepts, utilisation et cas pratiques) (4e édition)
Extraits du livre
Git Maîtrisez la gestion de vos versions (concepts, utilisation et cas pratiques) (4e édition) Revenir à la page d'achat du livre

Aide-mémoire

Les références

Les références sont beaucoup utilisées dans un système de version. Une référence est un nom auquel est associé un commit. C’est un raccourci. Par exemple, il est plus simple de nommer une branche page_a_propos que de la nommer 2f1eaabf11daa32ae274b2775d2fb3b7a28c842f.

1. HEAD

Cette référence pointe vers le commit le plus récent de la branche courante. C’est-à-dire qu’à chaque nouveau commit et à chaque changement de branche cette référence est mise à jour pour pointer vers le commit le plus récent. Cette référence est omniprésente dans l’utilisation de Git.

2. Les branches

Les branches ne sont en réalité rien d’autre que des références. En d’autres termes, une branche est un nom qui pointe vers le commit le plus récent de la branche. Ce que de nombreux développeurs appellent "être sur une branche" signifie que le pointeur de la branche pointe vers le même commit que HEAD. Cela signifie également qu’après avoir effectué un nouveau commit, le pointeur de la branche pointera sur le nouveau commit.

3. Les tags

Les tags sont des références statiques, c’est-à-dire qu’un tag sera ajouté par un développeur pour servir de raccourci dans le but de pointer vers un commit particulier. La principale différence que les tags ont avec les branches est leur immuabilité. Si un développeur ne modifie pas explicitement le tag, celui-ci pointera toujours vers le même commit sans que les modifications apportées à l’historique aient le moindre effet sur ce tag.

4. Référence des ancêtres

Il existe deux moyens pour appeler les ancêtres d’un commit. Ces deux moyens sont utilisés...

Les commandes

Cette section liste une partie des commandes Git et de leurs arguments utiles. Cette liste est non exhaustive et a pour but de servir au quotidien pour le développeur sans qu’il ait besoin d’aller voir la verbeuse (mais exhaustive) documentation officielle.

Cette liste permet également au lecteur de connaître rapidement l’utilité et les possibilités d’une commande pendant la lecture de ce livre.

Les commandes sont listées par ordre alphabétique. Les arguments sont listés par ordre d’apparition, excepté les arguments nommés (ceux définis explicitement de type --dry-run).

1. git add

Cette commande permet d’ajouter un fichier à l’index en vue d’effectuer un commit.

Arguments

<chemin_fichier> : permet d’ajouter un fichier à l’index.

-A ou --all : permet d’ajouter tous les fichiers (sauf ceux ignorés) à l’index.

-i ou --interactive : permet de démarrer le mode interactif d’ajout de fichiers. 

-n ou --dry-run : permet d’exécuter la commande sans ajouter de fichier. Elle permet d’afficher les fichiers qui seraient ajoutés si l’argument n’avait pas été utilisé.

--ignore-errors : permet de continuer d’ajouter les fichiers même lorsqu’une erreur se produit. Cette commande est utile lorsque de nombreux fichiers sont ajoutés par la commande git add.

Exemples

git add README  
git add --all --dry-run 

2. git archive

Cette commande permet de créer une archive du contenu du dépôt.

Arguments

<commit> : définit le commit à partir duquel effectuer l’export.

--format=<format> : définit le format de l’archive (zip ou tar).

-l ou --list : liste les formats disponibles.

Exemple

git archive --format zip --output...

GitHub

GitHub est un service d’hébergement de dépôts en ligne. Le chapitre Scénario d’équipe - Mise en ligne du dépôt sur GitHub présente plus précisément ce service et explique comment s’inscrire et créer un dépôt.

Cette annexe va expliquer plus en profondeur le fonctionnement de GitHub car, au fil du temps, cette plateforme est devenue incontournable et propose une nouvelle façon de collaborer entre développeurs.

Les captures et autres éléments textuels liés à GitHub seront en anglais, l’entreprise ayant décidé d’abandonner les langues non anglophones en 2016 (https://github.blog/2010-07-13-github-in-your-language/).

1. Gestion des dépôts

GitHub propose de nombreuses fonctionnalités autour des dépôts Git permettant notamment un meilleur suivi des versions et une amélioration de la sécurité du projet.

Améliorer la page d’accueil du dépôt

Par défaut, la page d’accueil du dépôt ne contient rien d’autre que l’arborescence de code du projet. Le fichier README est fondamental pour la présentation du projet, sa syntaxe a déjà été abordé dans le chapitre Création d’un dépôt - Markdown.

Il est intéressant également de définir une description du projet, dans la section About sur la page d’accueil du dépôt. Pour cela, il faut cliquer sur le logo d’engrenage :

images/14EI01.png

Inviter un collaborateur

Un collaborateur GitHub est un utilisateur qui a la possibilité de lire (git clone, git pull) et d’écrire (git push) dans un dépôt. Un collaborateur peut également inviter d’autres collaborateurs en mode lecture, seul le propriétaire...