Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Les bases de Git

La leçon complète est à lire ici. Créez un compte gratuit pour la pratiquer dans un labo en direct.

Labo de conteneurs14 min de lecture16 commandes

Ce que tu vas faire

Git garde l’historique d’un dossier. Chaque fois que tu fais un commit (une sauvegarde nommée), il note ce qui a changé, qui l’a changé et pourquoi. Un serveur comme Gitea, GitHub ou GitLab garde une copie de cet historique. D’autres personnes peuvent la voir et y ajouter leur travail.

Dans cette leçon, tu crées un dépôt (un « repository ») sur ton propre serveur Gitea. Puis tu crées sur ton ordinateur un dossier avec un fichier dedans, tu fais un commit, et tu l’envoies sur le serveur avec un push.

Avant de commencer

Remarque

Appuie sur Démarrer le lab dans la barre en haut de cette leçon et attends que la barre indique que le lab tourne. Chaque bouton Exécuter ci-dessous tape sa commande dans le terminal de ton lab, l’une après l’autre, dans la même session. Pour les voir passer, ou pour taper tes propres commandes, appuie sur Ouvrir le terminal (nouvel onglet) dans la barre.

1. Crée un dépôt dans Gitea

Dans la barre du lab, appuie sur Gitea pour l’ouvrir dans un nouvel onglet. Ensuite :

  1. Appuie sur Sign In, en haut à droite, et connecte-toi avec l’identifiant student et le mot de passe student.
  2. Appuie sur + en haut à droite, puis sur New Repository.
  3. Appelle-le my-first-repo. Laisse Initialize Repository décoché : le dépôt démarre vide.
  4. Appuie sur Create Repository.

Gitea affiche un dépôt vide et les commandes pour le remplir. C’est ce que fait la suite de la leçon, une étape à la fois.

2. Dis à Git qui tu es

Chaque commit garde le nom de son auteur. Git te demande un nom et une adresse e-mail une seule fois. Avec --global, il les retient pour tous les dépôts de cet ordinateur. Exécute les deux commandes.

Commande
git config --global user.name "Student"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
git config --global user.email "[email protected]"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

3. Crée un dossier pour le projet

mkdir crée un dossier nommé my-first-repo dans ton dossier personnel. Il porte le même nom que le dépôt dans Gitea. cd te place dedans. Toutes les commandes suivantes s’exécutent dans ce dossier.

Commande
mkdir -p ~/my-first-repo

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
cd ~/my-first-repo

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

4. Transforme-le en dépôt

git init fait de ce dossier un dépôt Git. Il ajoute un dossier caché .git, où l’historique sera gardé. Rien n’est encore enregistré. Git peut afficher quelques lignes qui commencent par hint: à propos du nom master. C’est normal : l’étape 10 s’en occupe.

Commande
git init

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

5. Crée un fichier

echo écrit une ligne, et > la place dans un nouveau fichier nommé hello.txt. cat affiche ce que le fichier contient.

Commande
echo "Hello, Git" > hello.txt

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
cat hello.txt

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

6. Demande à Git ce qu’il voit

git status liste ce qui a changé. Le fichier hello.txt est untracked (non suivi) : Git le voit, mais personne ne lui a demandé de le garder.

Commande
git status

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

7. Prépare le fichier

git add met un fichier dans la zone de préparation (le « staging area »). C’est la liste des changements qui iront dans le prochain commit. Exécute git status une seconde fois : hello.txt est maintenant sous « Changes to be committed ».

Commande
git add hello.txt

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
git status

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

8. Fais le commit

Un commit enregistre tout ce qui est préparé, comme une étape de l’historique, avec un message qui dit de quoi il s’agit. git log --oneline liste les commits faits jusqu’ici : il y en a un, avec un court code qui le désigne et ton message. --no-pager affiche la liste directement. Sans lui, git log ouvrirait un lecteur dont on sort en appuyant sur q.

Commande
git commit -m "Add hello.txt"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
git --no-pager log --oneline

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

9. Relie-le à Gitea

Un remote (dépôt distant) est une autre copie du dépôt. Ici, c’est celle que tu as créée à l’étape 1. origin est le nom que tout le monde donne à la copie principale. git remote -v montre où elle se trouve.

Commande
git remote add origin http://student:student@gitea:3000/student/my-first-repo.git

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
git remote -v

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Un mot de passe dans une adresse

Attention

L’adresse ci-dessus contient le nom et le mot de passe du compte Gitea, donc Git ne s’arrête jamais pour les demander. C’est sans danger seulement sur un serveur d’entraînement que toi seul peux atteindre. Ne mets jamais un vrai mot de passe dans une adresse. Git le demande quand il en a besoin, et un vrai serveur comme GitHub veut un jeton à la place.

10. Appelle la branche main

Les commits se font sur une branche. Les anciennes versions de Git appellent la première master. La plupart des serveurs, dont Gitea et GitHub, attendent maintenant main. git branch -M main la renomme en main, quel que soit son nom d’avant, pour que les deux correspondent.

Commande
git branch -M main

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

11. Envoie-le

git push envoie tes commits au dépôt distant. Avec -u origin main, Git retient aussi que cette branche va vers origin. La prochaine fois, un simple git push suffira.

Commande
git push -u origin main

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

12. Regarde le résultat dans Gitea

Retourne dans l’onglet Gitea et ouvre student/my-first-repo (ou recharge la page). Le fichier hello.txt est là, avec ton message de commit à côté. Appuie sur le nombre de commits pour voir l’historique.

Refais-le par toi-même

Astuce

Appuie sur Ouvrir le terminal (nouvel onglet) dans la barre du lab. Ajoute une deuxième ligne avec echo "Second line" >> hello.txt (deux > : la ligne s’ajoute au lieu de remplacer). Puis fais git add, git commit et git push, et regarde l’historique s’allonger dans Gitea.

Si le terminal a redémarré, exécute d’abord à nouveau le cd de l’étape 3 pour retourner dans le dossier.

Plus dans ce labo

À propos de ce labo et de sa source: Lab Git et Gitea : apprendre clone, commit et push sur un serveur Git à soi

Vous enseignez à une classe ? Proposez ces leçons à vos élèves avec correction et un labo pour chaque élève.