Flux de travail Git de base : Add, Commit, Push
Introduction
Maintenant que vous avez créé votre premier dépôt Git et que vous comprenez les concepts de base, il est temps d'apprendre le flux de travail fondamental de Git. Ce flux de travail constitue l'épine dorsale de l'utilisation quotidienne de Git et se compose de trois étapes principales : Add, Commit et Push.
Ce tutoriel vous guidera à travers ces opérations essentielles, vous aidant à comprendre comment suivre les modifications, enregistrer des instantanés de votre travail et partager votre code avec d'autres.
Prérequis
Avant de commencer ce tutoriel, assurez-vous d'avoir :
- Un dépôt Git créé (Création de votre premier dépôt Git)
- Une compréhension de base des concepts Git (Comprendre les bases et la terminologie Git)
- Quelques fichiers dans votre dépôt pour travailler
Le flux de travail Git de base
Le flux de travail standard de Git suit ces étapes :
1. Modifier les fichiers dans le répertoire de travail
2. Préparer les modifications (git add)
3. Valider les modifications (git commit)
4. Pousser vers le dépôt distant (git push)
Explorons chaque étape en détail.
Étape 1 : Comprendre l'état actuel
Avant de faire des modifications, vérifions l'état actuel de notre dépôt :
bash
git status
Vous devriez voir quelque chose comme :
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
README.md
config.json
hello.py
sample.txt
nothing added to commit but untracked files present (use "git add" to track)
Cela montre :
- Branche actuelle :
main
- Pas encore de commits
- Plusieurs fichiers non suivis
Étape 2 : Ajouter des fichiers à la zone de préparation (git add)
La commande git add
déplace les fichiers du répertoire de travail vers la zone de préparation. C'est là que vous préparez votre prochain commit.
Ajouter des fichiers individuels
Ajoutez des fichiers un par un :
bash
# Ajouter le fichier README
git add README.md
# Vérifier l'état
git status
Vous devriez voir :
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
config.json
hello.py
sample.txt
Remarquez la différence :
README.md
est maintenant sous "Changes to be committed" (préparé)- Les autres fichiers restent "Untracked" (non suivis)
Ajouter plusieurs fichiers
Ajoutez plusieurs fichiers à la fois :
bash
# Ajouter plusieurs fichiers spécifiques
git add hello.py config.json
# Ou ajouter tous les fichiers du répertoire courant
git add .
# Vérifier l'état
git status
Après avoir ajouté tous les fichiers :
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: README.md
new file: config.json
new file: hello.py
new file: sample.txt
Modèles courants de git add
bash
# Ajouter tous les fichiers
git add .
# Ajouter tous les fichiers dans le répertoire courant et les sous-répertoires
git add -A
# Ajouter uniquement les fichiers modifiés (pas les nouveaux fichiers)
git add -u
# Ajouter des fichiers de manière interactive
git add -i
# Ajouter des types de fichiers spécifiques
git add *.py
git add *.md
Comprendre la zone de préparation
La zone de préparation vous permet de :
- Créer des commits précis - Choisir exactement ce qui va dans chaque commit
- Examiner les modifications - Voir ce qui sera validé avant de le valider
- Diviser les modifications - Valider séparément les modifications connexes
Étape 3 : Faire votre premier commit (git commit)
Un commit crée un instantané de vos modifications préparées. Chaque commit doit représenter une unité logique de travail.
Commande de base pour commit
bash
git commit -m "Initial commit: Add project files"
Vous devriez voir une sortie comme :
[main (root-commit) a1b2c3d] Initial commit: Add project files
5 files changed, 23 insertions(+)
create mode 100644 .gitignore
create mode 100644 README.md
create mode 100644 config.json
create mode 100755 hello.py
create mode 100644 sample.txt
Comprendre la sortie :
main
- Branche actuelleroot-commit
- C'est le premier commita1b2c3d
- Hash court du commit5 files changed, 23 insertions(+)
- Résumé des modifications
Bonnes pratiques pour les messages de commit
De bons messages de commit sont cruciaux pour la maintenance du projet :
Structure
Résumé court (50 caractères ou moins)
Explication plus détaillée si nécessaire. Retour à la ligne à 72 caractères.
Expliquez quoi et pourquoi, pas comment.
- Utilisez des puces pour plusieurs modifications
- Référencez les numéros de problèmes si applicable
Exemples de bons messages de commit
bash
# Bon - Clair et concis
git commit -m "Ajouter système d'authentification utilisateur"
# Bon - Explique le pourquoi
git commit -m "Corriger bug de connexion qui empêchait la réinitialisation du mot de passe"
# Bon - Commit sur plusieurs lignes
git commit -m "Implémenter l'édition de profil utilisateur
- Ajouter validation de formulaire
- Mettre à jour le modèle utilisateur
- Ajouter téléchargement d'image de profil
- Corriger problèmes de style sur mobile"
Exemples de mauvais messages de commit
bash
# Mauvais - Trop vague
git commit -m "corriger des trucs"
# Mauvais - Pas descriptif
git commit -m "mise à jour"
# Mauvais - Trop long pour un résumé
git commit -m "Ce commit ajoute le nouveau système d'authentification utilisateur qui permet aux utilisateurs de se connecter et d'enregistrer des comptes avec validation par email et fonctionnalité de réinitialisation de mot de passe"
Méthodes alternatives de commit
Utiliser l'éditeur par défaut
bash
# Ouvre votre éditeur par défaut pour le message de commit
git commit
Valider toutes les modifications
bash
# Prépare et valide tous les fichiers suivis
git commit -a -m "Mettre à jour tous les fichiers suivis"
Étape 4 : Afficher l'historique des commits
Après avoir fait des commits, vous pouvez consulter l'historique de votre dépôt :
bash
# Afficher l'historique des commits
git log
Sortie :
commit a1b2c3d4e5f6789... (HEAD -> main)
Author: Your Name <[email protected]>
Date: Wed Jul 9 10:30:00 2025 +0000
Initial commit: Add project files
Options utiles pour git log
bash
# Format compact sur une ligne
git log --oneline
# Afficher les 3 derniers commits
git log -3
# Afficher les commits avec les modifications de fichiers
git log --stat
# Afficher les commits avec les modifications réelles
git log -p
# Représentation graphique
git log --graph --oneline
Faire des modifications supplémentaires
Pratiquons le flux de travail avec quelques modifications :
Étape 1 : Modifier un fichier
Éditez le fichier README.md :
bash
echo "
## Recent Updates
- Added basic project structure
- Created initial configuration
- Set up Git repository" >> README.md
Étape 2 : Vérifier l'état
bash
git status
Vous devriez voir :
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and commit)
Étape 3 : Voir les modifications
Voir ce qui a changé :
bash
git diff
Cela montre les différences entre votre répertoire de travail et le dernier commit.
Étape 4 : Préparer et valider
bash
# Préparer les modifications
git add README.md
# Valider les modifications
git commit -m "Update README with project status"
Comprendre les états des fichiers
Les fichiers dans Git passent par différents états :
Non suivi → Préparé → Validé
↓ ↓ ↓
git add → git commit → git push
Exemples d'états de fichiers
bash
# Vérifier l'état détaillé
git status
# Voir l'état court
git status -s
Symboles d'état court :
??
- Fichier non suiviA
- Ajouté (préparé)M
- ModifiéD
- SuppriméR
- Renommé
Étape 5 : Configurer un dépôt distant
Pour pousser vos modifications, vous avez besoin d'un dépôt distant. Configurons un dépôt distant :
Utilisation de GitHub (Exemple)
- Créez un nouveau dépôt sur GitHub
- Copiez l'URL du dépôt
- Ajoutez-le comme dépôt distant :
bash
# Ajouter un dépôt distant
git remote add origin https://github.com/yourusername/my-first-git-project.git
# Vérifier le dépôt distant
git remote -v
Utilisation de GitLab ou d'autres services
Le processus est similaire :
bash
# Exemple GitLab
git remote add origin https://gitlab.com/yourusername/my-first-git-project.git
# Serveur Git auto-hébergé
git remote add origin user@server:/path/to/repo.git
Étape 6 : Pousser vers le dépôt distant (git push)
Poussez vos commits vers le dépôt distant :
bash
# Pousser vers le dépôt distant
git push -u origin main
L'option -u
configure le suivi entre votre branche locale main
et la branche distante main
.
Comprendre la sortie de push
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 4 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (7/7), 1.23 KiB | 1.23 MiB/s, done.
Total 7 (delta 0), reused 0 (delta 0)
To https://github.com/yourusername/my-first-git-project.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
Pushes futurs
Après le push initial avec -u
, vous pouvez simplement utiliser :
bash
git push
Exemple complet de flux de travail
Voici un exemple complet du flux de travail Git :
bash
# 1. Faire des modifications
echo "print('Hello, Git!')" > new_script.py
# 2. Vérifier l'état
git status
# 3. Préparer les modifications
git add new_script.py
# 4. Valider les modifications
git commit -m "Add new Python script"
# 5. Pousser vers le dépôt distant
git push
Modèles courants de flux de travail Git
Flux de travail de développement de fonctionnalités
bash
# Commencer à travailler sur une fonctionnalité
git status
# ... faire des modifications ...
git add .
git commit -m "Implement feature X"
git push
Flux de travail de correction de bug
bash
# Corriger un bug
git status
# ... corriger le bug ...
git add -u # Ajouter uniquement les fichiers modifiés
git commit -m "Fix bug in user authentication"
git push
Flux de travail de développement régulier
bash
# Cycle de développement quotidien
git status
# ... travailler sur le code ...
git add .
git commit -m "Add user profile validation"
# ... plus de travail ...
git add .
git commit -m "Update error handling"
git push
Bonnes pratiques
1. Valider souvent
- Faites des commits petits et ciblés
- Validez ensemble les modifications connexes
- N'attendez pas trop longtemps entre les commits
2. Écrire de bons messages de commit
- Utilisez le présent ("Add feature" et non "Added feature")
- Gardez la première ligne sous 50 caractères
- Expliquez pourquoi, pas seulement quoi
3. Réviser avant de valider
bash
# Vérifiez toujours ce que vous validez
git status
git diff --staged
4. Utiliser efficacement la zone de préparation
- Ne préparez que les modifications connexes
- Utilisez
git add -p
pour la préparation partielle de fichiers - Révisez les modifications préparées avant de les valider
Résolution des problèmes courants
Problème : "Nothing to commit"
Cause : Aucune modification n'est préparée pour le commit. Solution : Utilisez git add
pour préparer les modifications d'abord.
Problème : "Repository not found"
Cause : L'URL du dépôt distant est incorrecte. Solution : Vérifiez l'URL distante avec git remote -v
.
Problème : "Authentication failed"
Cause : Identifiants ou permissions incorrects. Solution : Vérifiez votre nom d'utilisateur/mot de passe ou vos clés SSH.
Problème : "Uncommitted changes"
Cause : Tentative de push avec des modifications non validées. Solution : Validez ou mettez en réserve les modifications d'abord.
Résumé des commandes utiles
État et information
bash
git status # Vérifier l'état du dépôt
git log # Voir l'historique des commits
git diff # Montrer les modifications
git remote -v # Afficher les dépôts distants
Préparation et validation
bash
git add <file> # Préparer un fichier spécifique
git add . # Préparer tous les fichiers
git commit -m "msg" # Valider avec un message
git commit -a -m "msg" # Préparer et valider les fichiers suivis
Opérations distantes
bash
git remote add origin <url> # Ajouter un dépôt distant
git push -u origin main # Pousser et définir l'upstream
git push # Pousser vers le dépôt distant configuré
Résumé
Vous avez appris avec succès le flux de travail Git de base ! Voici ce que vous avez accompli :
- Comprendre le flux de travail : Add → Commit → Push
- Préparer les modifications : Utiliser
git add
pour préparer les commits - Faire des commits : Créer des instantanés avec
git commit
- Configurer des dépôts distants : Se connecter à des dépôts externes
- Pousser les modifications : Partager votre travail avec
git push
- Bonnes pratiques : Écrire de bons messages de commit et organiser le travail
Commandes clés maîtrisées :
git add
- Préparer les modifications pour le commitgit commit
- Créer un instantané des modifications préparéesgit push
- Télécharger les commits vers le dépôt distantgit status
- Vérifier l'état actuel du dépôtgit log
- Voir l'historique des commitsgit diff
- Voir les différences entre les versions
Modèle de flux de travail :
Éditer les fichiers → git add → git commit → git push
Ce flux de travail de base constitue le fondement de toute utilisation de Git. Que vous travailliez seul ou en équipe, ces commandes seront vos outils quotidiens pour le contrôle de version.
Prochaines étapes
Maintenant que vous comprenez le flux de travail Git de base, vous êtes prêt à explorer des sujets plus avancés :