Git
Commandes Git essentielles pour le contrôle de version et la collaboration
Basics
Initialiser un dépôt
git init
Cloner un dépôt
git clone https://github.com/user/repo.git
Voir le statut
git status
Ajouter des fichiers au staging
git add .
Le point ajoute tous les fichiers modifiés
Ajouter des fichiers spécifiques
git add fichier1.txt fichier2.txt
Créer un commit
git commit -m "description du changement"
Modifier le dernier commit
git commit --amend -m "nouveau message"
Modifie le message et/ou ajoute des fichiers stagés au dernier commit
Branches
Lister les branches
git branch
Créer une branche
git branch nom-branche
Changer de branche
git switch nom-branche
Créer et changer de branche
git switch -c nom-branche
Supprimer une branche
git branch -d nom-branche
-d supprime si mergée, -D force la suppression
Renommer la branche courante
git branch -m nouveau-nom
Fusion et rebase
Fusionner une branche
git merge nom-branche
Rebase sur une branche
git rebase main
Reapplique les commits de la branche courante sur main
Annuler un merge en cours
git merge --abort
Annuler un rebase en cours
git rebase --abort
Remote
Voir les remotes
git remote -v
Ajouter un remote
git remote add origin https://github.com/user/repo.git
Pousser vers le remote
git push origin main
Pousser et lier la branche
git push -u origin nom-branche
-u configure le tracking automatique
Récupérer les changements
git pull origin main
Récupérer sans merger
git fetch origin
Stash
Sauvegarder les changements temporairement
git stash
Sauvegarder avec un message
git stash push -m "description"
Lister les stashes
git stash list
Appliquer le dernier stash
git stash pop
Applique et supprime le stash de la liste
Appliquer un stash spécifique
git stash apply stash@{2}Supprimer tous les stashes
git stash clear
Historique
Voir l'historique des commits
git log --oneline --graph
--oneline compact, --graph visualise les branches
Voir les changements d'un fichier
git log -p fichier.txt
Voir les différences
git diff
Voir les différences stagées
git diff --staged
Chercher un commit par message
git log --grep="mot-clé"
Voir qui a modifié chaque ligne
git blame fichier.txt
Annulation
Annuler les modifications d'un fichier
git restore fichier.txt
Unstage un fichier
git restore --staged fichier.txt
Revenir à un commit précédent
git revert <commit_hash>
Crée un nouveau commit qui annule les changements
Réinitialiser au dernier commit
git reset --hard HEAD
Supprime tous les changements non commités