Commandes Git essentielles pour le contrôle de version – branchement, validation, fusion et collaboration.
Configurer Git et définir votre identité
# Définir votre nom et votre email
git config --global user.name "Votre Nom"
git config --global user.email "votre.email@exemple.com"
# Vérifier votre configuration
git config --list
# Définir le nom de branche par défaut
git config --global init.defaultBranch main# Définir l'éditeur par défaut
git config --global core.editor "code --wait"
# Activer la sortie couleur
git config --global color.ui auto
# Configurer l'aide d'authentification (Windows)
git config --global credential.helper wincredInitialiser ou cloner des dépôts Git
# Initialiser un nouveau dépôt
git init
# Initialiser avec un nom de branche spécifique
git init -b main
# Cloner un dépôt existant
git clone https://github.com/user/repo.git
# Cloner dans un répertoire spécifique
git clone https://github.com/user/repo.git my-folderCommandes courantes pour l'utilisation quotidienne de Git
# Vérifier l'état du dépôt
git status
# Ajouter des fichiers à la zone de staging
git add file.txt
git add . # Ajouter tous les fichiers
git add *.js # Ajouter tous les fichiers JavaScript
# Valider les modifications
git commit -m "Message du commit"
git commit -am "Message" # Ajouter et valider les fichiers suivis
# Afficher l'historique des commits
git log
git log --oneline # Vue compacte
git log --graph # Afficher le graphe des branchesCréer et gérer les branches
# Lister les branches
git branch # Branches locales
git branch -a # Toutes les branches (locales + distantes)
# Créer une nouvelle branche
git branch feature-branch
# Basculer vers une branche
git checkout feature-branch
git switch feature-branch # Alternative moderne
# Créer et basculer vers une nouvelle branche
git checkout -b feature-branch
git switch -c feature-branch# Fusionner une branche dans la branche courante
git merge feature-branch
# Supprimer une branche
git branch -d feature-branch # Suppression sécurisée
git branch -D feature-branch # Suppression forcée
# Renommer une branche
git branch -m old-name new-nameTravailler avec des dépôts distants
# Lister les dépôts distants
git remote -v
# Ajouter un dépôt distant
git remote add origin https://github.com/user/repo.git
# Récupérer les changements du distant
git fetch origin
# Tirer les changements du distant
git pull origin main
# Pousser les changements vers le distant
git push origin main
git push -u origin main # Définir l'amont et pousser# Supprimer un remote
git remote remove origin
# Renommer un remote
git remote rename old-name new-name
# Modifier l'URL du remote
git remote set-url origin https://github.com/user/new-repo.gitRevenir ou réinitialiser les modifications
# Annuler les modifications dans le répertoire de travail
git restore file.txt
git checkout -- file.txt # Ancienne méthode
# Désindexer les fichiers
git restore --staged file.txt
git reset HEAD file.txt # Ancienne méthode
# Modifier le dernier commit
git commit --amend -m "Nouveau message"
# Revenir à un commit (crée un nouveau commit)
git revert <commit-hash># Réinitialiser au commit précédent (attention !)
git reset --soft HEAD~1 # Conserver les modifications indexées
git reset --mixed HEAD~1 # Conserver les modifications non indexées
git reset --hard HEAD~1 # Annuler toutes les modifications
# Réinitialiser à un commit spécifique
git reset --hard <commit-hash>Enregistrer temporairement les modifications
# Mettre de côté les modifications actuelles
git stash
git stash save "Travail en cours"
# Lister les stashs
git stash list
# Appliquer le stash
git stash apply # Conserver le stash
git stash pop # Appliquer et supprimer le stash
# Appliquer un stash spécifique
git stash apply stash@{0}
# Supprimer le stash
git stash drop stash@{0}
git stash clear # Supprimer tous les stashsInspecter les différences et l'historique
# Afficher les modifications non indexées
git diff
# Afficher les modifications indexées
git diff --staged
git diff --cached
# Afficher les différences entre commits
git diff commit1 commit2
# Afficher les modifications d'un fichier spécifique
git diff file.txt# Afficher les détails du commit
git show <commit-hash>
# Afficher le fichier à un commit spécifique
git show <commit-hash>:file.txt
# Afficher qui a modifié quoi dans un fichier
git blame file.txtCommandes Git supplémentaires utiles
# Nettoyer les fichiers non suivis
git clean -n # Simulation
git clean -f # Supprimer les fichiers
git clean -fd # Supprimer les fichiers et répertoires
# Rechercher dans le dépôt
git grep "terme de recherche"
# Afficher qui a modifié un fichier
git log --follow file.txt
# Créer un alias
git config --global alias.st status
git config --global alias.co checkout# Ignorer les modifications du fichier
git update-index --assume-unchanged file.txt
# Suivre à nouveau les modifications du fichier
git update-index --no-assume-unchanged file.txt
# Afficher les fichiers suivis
git ls-files