Aller au contenu principal

Fonctionnement de Git

Partie théorique

Git est un système de gestion de versions.

Imaginez que vous écrivez une histoire. À chaque fois que vous faites une modification, vous sauvegardez une nouvelle version de votre histoire. Git fait exactement cela, mais pour vos fichiers.

Git travaille avec 3 concepts principaux: l'espace de travail, l'index et le dépôt.

  1. L'Espace de Travail : C'est votre répertoire de travail actuel.

    C'est là que vous modifiez vos fichiers.

  2. L'Index : C'est une zone intermédiaire où vous pouvez organiser les modifications que vous voulez enregistrer dans votre prochain "commit".

    Nous verrons prochainement le fonctionnement de la commande commit.

  3. Le Dépôt : C'est là que Git stocke les versions de votre projet.

    Chaque fois que vous faites un 'commit', vous créez une nouvelle version de votre projet dans le dépôt.

Exemple pratique

Imaginons que vous travaillez dans une entreprise qui gère une importante infrastructure de serveurs.

Vous avez une série de scripts d'administration système (scripts shell, scripts Python, fichiers de configuration, etc.) que vous utilisez pour gérer cette infrastructure.

Ces scripts sont essentiels à votre travail quotidien, mais aussi à celui de votre équipe.

Git peut être utilisé pour gérer les versions de ces scripts et fichiers de configuration.

Voici comment cela pourrait fonctionner :

  1. Espace de travail : Vous modifiez un script shell pour ajouter une nouvelle fonctionnalité ou corriger un bug.

    L'espace de travail est l'endroit où vous faites ces modifications.

  2. Index : Une fois que vous êtes satisfait de vos modifications, vous les ajoutez à l'index avec la commande git add.

    Cela prépare les modifications pour être enregistrées dans le dépôt.

  3. Dépôt : Vous validez les modifications dans le dépôt avec la commande git commit.

    Cela sauvegarde une nouvelle version du fichier dans le dépôt.

remarque

Vous pouvez ajouter un message à ce commit pour expliquer ce que vous avez changé et pourquoi, avec la commande git commit -m "Mon message"

En utilisant Git de cette manière, vous pouvez facilement suivre l'évolution de vos scripts et fichiers de configuration au fil du temps.

astuce

Si vous faites une erreur dans un fichier, vous pouvez utiliser Git pour revenir à une version précédente.

De plus, si vous travaillez en équipe, Git facilite la collaboration et le partage des fichiers. Chaque membre de l'équipe peut cloner le dépôt, apporter ses propres modifications, et les partager avec le reste de l'équipe en poussant ses commits vers le dépôt.

info

Pour créer un nouveau dépôt vide dans le répertoire mon-projet, il faut :

  • se placer dans le répertoire mon-projet
  • et taper la commande suivante :
    git init

Test de mémorisation/compréhension


Comment Git peut-il faciliter la collaboration entre les administrateurs système et réseau ?


Qu'est-ce qu'un système de gestion de versions ?


Qu'est-ce que l'espace de travail dans Git ?


Qu'est-ce que l'index dans Git ?


Qu'est-ce que le dépôt dans Git ?


Quelle commande Git permet de créer un nouveau dépôt vide ?


Quelle commande Git permet d'ajouter des modifications à l'index ?


Quelle commande Git un administrateur système ou un développeur utiliserait pour sauvegarder une nouvelle version d'un fichier de configuration ?


Comment Git aide-t-il les développeurs à gérer les différentes versions de leur code ?


En tant qu'administrateur système, pourquoi pourriez-vous utiliser Git ?


Comment Git peut-il aider un développeur à collaborer sur un projet avec d'autres développeurs ?


Quelle est la fonction de la commande `git init` ?


Comment Git peut-il aider un administrateur réseau à gérer les scripts de configuration du réseau ?


Quel est l'avantage d'utiliser Git pour gérer le code d'un projet ?


Quel est l'avantage d'utiliser Git pour gérer les fichiers de configuration du système ou du réseau ?



TP pour réfléchir et résoudre des problèmes

Dans ce TP, vous allez créer un petit site Web statique et utiliser Git pour gérer les versions de ce site.

Le site sera composé de 2 fichiers :

  • un fichier HTML index.html
  • et un fichier CSS styles.css. *
remarque

Votre objectif est de créer ces fichiers, de faire un site minimaliste avec une couleur en fond de page, et de suivre les modifications de ces fichiers avec Git.

  1. Créez le dossier tp-git dans votre dossier Documents.

  2. Dans le dossier tp-git, créez un nouveau fichier index.html et ajoutez le code HTML de base.

    Ajoutez un titre à votre page et un paragraphe de texte, par exemple :

    <!DOCTYPE html>
    <html>
    <head>
    <title>Mon site minimaliste</title>
    <link rel="stylesheet" type="text/css" href="styles.css">
    </head>
    <body>
    <h1>Bienvenue sur mon site minimaliste</h1>
    <p>C'est un exemple de site minimaliste avec une couleur en fond de page.</p>
    </body>
    </html>
  3. Créez un nouveau fichier styles.css et ajoutez du code CSS pour changer la couleur d'arrière-plan de votre page. Par exemple :

    body {
    background-color: lightblue;
    }
  4. Initialisez un nouveau dépôt Git dans le répertoire contenant vos fichiers.

  5. Vérifiez l'état de votre dépôt avec la commande git status.

    Quels fichiers sont suivis par Git ?

  6. Ajoutez vos fichiers HTML et CSS à l'index avec la commande git add.

  7. Committez vos fichiers dans le dépôt avec la commande git commit.

    N'oubliez pas d'ajouter un message de commit pour expliquer ce que vous faites.

  8. Faites une modification dans votre fichier CSS, par exemple en changeant la couleur d'arrière-plan de votre site.

    Ajoutez cette modification à l'index et commitez-la dans le dépôt.

  9. Utilisez la commande git log pour voir l'historique de vos commits.

    Qu'est-ce que cela vous dit sur l'évolution de votre projet ?

Une solution