Actus Circuit Libre
Posté le
📚 Guides & Procédures

Guide Git - *Git Gud*

Auteur
Guide Git - *Git Gud*

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 revert est à 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