- Posté le
- • 📚 Guides & Procédures
Guide Git - *Git Gud*
- Auteur
-
-
- Utilisateur
- Thibaud
- Billets de cet auteur
- Billets de cet auteur
-
Parce que je cherche toujours mes commandes Git, j'ai compilé ici les essentielles, les vraiment utiles, celles que j'aurais aimé avoir sous la main dès le départ.
🔧 Configuration
git config --global user.name "Username"
git config --global user.email "email@example.com"
git config --list # Vérifier la config active
📦 Initialisation & Clonage
git init # Initialise un dépôt local
git clone <url> # Clone un dépôt distant
📂 État & Historique
git status # Fichiers modifiés, en attente, non suivis
git log # Historique complet
git log --oneline # Historique condensé (une ligne par commit)
git diff # Différences non stagées
git show <commit> # Détail d'un commit précis
➕ Staging
git add <fichier> # Ajouter un fichier précis
git add . # Tout ajouter (répertoire courant)
✔️ Commit
git commit -m "Message" # Commit classique
git commit -am "Message" # Add + commit (fichiers déjà suivis seulement)
🔀 Branches
git branch # Lister les branches
git branch <nom> # Créer une branche
git checkout <nom> # Basculer vers une branche
git switch <nom> # Idem (syntaxe moderne)
git checkout -b <nom> # Créer + basculer
git switch -c <nom> # Idem (syntaxe moderne)
git branch -d <nom> # Supprimer une branche fusionnée
🔄 Synchronisation avec le distant
git pull # Récupère et fusionne
git fetch # Récupère sans fusionner
git merge <branche> # Fusionne une branche dans la courante
⬆️ Push
git push # Push vers le distant configuré
git push -u origin <branche> # Push initial + tracking de branche
🧹 Annulations & Corrections
# Annuler des modifications non stagées
git restore <fichier>
git checkout -- <fichier> # Ancienne syntaxe (équivalent)
# Retirer du staging sans perdre les modifs
git restore --staged <fichier>
# Annuler des commits (du plus doux au plus radical)
git reset --soft HEAD~1 # Annule le commit, garde les modifs en staging
git reset --mixed HEAD~1 # Annule commit + unstaged (comportement par défaut)
git reset --hard HEAD~1 # ⚠️ Annule commit ET modifs — irréversible
# Annuler proprement (crée un nouveau commit d'annulation)
git revert <commit>
Règle d'or :
git revertest à privilégier sur un dépôt partagé — il n'altère pas l'historique.
🔗 Remotes
git remote -v # Lister les remotes avec leur URL
git remote add origin <url> # Ajouter un remote
git remote remove origin # Supprimer un remote
🔧 Rebase
git rebase <branche> # Réécrit l'historique de la branche courante
git rebase -i HEAD~3 # Rebase interactif : squash, fixup, reword…
git rebase --continue # Continuer après résolution de conflit
git rebase --abort # Annuler le rebase en cours
🔍 Recherche
git grep "texte" # Chercher dans les fichiers du repo
git log -S "texte" # Trouver où un texte a été ajouté ou supprimé
🧱 Stash — Mise de côté temporaire
git stash # Mettre les modifs en attente de côté
git stash list # Lister les stashs
git stash apply # Réappliquer le dernier stash (sans le supprimer)
git stash pop # Réappliquer + supprimer du stash
git stash drop # Supprimer le dernier stash sans l'appliquer
🗃️ Tags
git tag # Lister les tags
git tag <nom> # Créer un tag sur le commit courant
git push origin <nom> # Envoyer un tag au distant
git tag -d <nom> # Supprimer un tag local
git push origin :refs/tags/<nom> # Supprimer un tag distant
🛠️ Nettoyage des fichiers non suivis
git clean -n # Aperçu de ce qui serait supprimé
git clean -f # Supprimer les fichiers non suivis
git clean -fd # Idem + supprimer les dossiers non suivis