Qu'est-ce que Git ?
Système de gestion de versions distribué qui enregistre et gère l'historique des modifications des fichiers. Les modifications faites dans le répertoire de travail sont enregistrées dans la zone de préparation avec git add, enregistrées dans le dépôt local avec git commit, et envoyées vers un dépôt distant comme GitHub avec git push. Les branches permettent un développement en parallèle et s'intègrent avec git merge. Outre le code source, Git sert aussi à gérer le RTL, les bancs de test de vérification, les scripts, etc.
Nom japonais: Git
« Git » apparaît dans 6 questions d'entraînement réparties sur 3 thèmes, dont Bases de Linux et de la ligne de commande, Développement logiciel et gestion de projet, Bases du cloud et des conteneurs.
Domaine: Bases de Linux et de la ligne de commande
Les trois emplacements
Git distingue le répertoire de travail, où l'on modifie les fichiers, la zone de préparation (l'index), qui contient les modifications à inclure dans le prochain commit, et le dépôt (le répertoire .git), qui conserve l'historique des commits. git status montre les différences entre ces trois emplacements ; git diff affiche la différence entre le répertoire de travail et la zone de préparation, et git diff --staged celle entre la zone de préparation et le dernier commit.
Questions fréquentes
Quelle différence y a-t-il entre Git et GitHub ?
Git est le logiciel de gestion de versions lui-même, qui s'exécute sur son propre ordinateur. GitHub est un service web qui héberge des dépôts Git et y ajoute des fonctions comme la revue par pull requests et la gestion des tickets. Il existe des services semblables comme GitLab, ainsi que des serveurs installés dans l'entreprise, et Git lui-même peut s'utiliser avec n'importe lequel d'entre eux.
Comment annuler le dernier commit ?
S'il n'a pas encore été envoyé avec push, git commit --amend permet de corriger le dernier commit, et git reset de l'annuler. Pour un commit déjà envoyé et partagé, il est plus sûr d'utiliser git revert, qui ajoute la modification d'annulation sous la forme d'un nouveau commit, afin de ne pas entrer en conflit avec l'historique des autres.