Aide-mémoire Git

Une référence complète des commandes Git couramment utilisées et des raccourcis clavier pour augmenter votre productivité.

CommandeDescriptionExempleNote
git init
Initialiser un nouveau dépôt Git
git init mon-projet
Crée un nouveau sous-répertoire .git dans le répertoire courant
git clone
Cloner un dépôt dans un nouveau répertoire
git clone https://github.com/username/repository.git
Clone le dépôt sur votre machine locale
git add
Ajouter le contenu de fichier à l'index
git add filename.js
Utilisez "git add ." pour ajouter tous les changements
git commit
Enregistrer les changements dans le dépôt
git commit -m "Ajouter nouvelle fonctionnalité"
Utilisez le flag -a pour commiter tous les fichiers suivis
git status
Afficher le statut de l'arbre de travail
git status
Montre les fichiers modifiés dans le répertoire de travail
git diff
Afficher les changements entre commits, commit et arbre de travail, etc
git diff
Utilisez git diff --staged pour voir les changements mis en scène
git log
Afficher les logs de commit
git log --oneline
Montre l'historique des commits
git branch
Lister, créer ou supprimer des branches
git branch feature-branch
Utilisez le flag -d pour supprimer une branche
git checkout
Changer de branche ou restaurer les fichiers de l'arbre de travail
git checkout feature-branch
Utilisez le flag -b pour créer une nouvelle branche et y basculer
git switch
Changer de branche (alternative plus récente à checkout)
git switch feature-branch
Utilisez le flag -c pour créer une nouvelle branche et y basculer
git merge
Joindre deux ou plusieurs historiques de développement
git merge feature-branch
Fusionne la branche spécifiée dans la branche courante
git rebase
Réappliquer des commits au-dessus d'une autre base
git rebase main
Réécrit l'historique des commits pour créer un historique linéaire
git tag
Créer, lister, supprimer ou vérifier un objet tag
git tag v1.0.0
Utilisez -a pour les tags annotés avec des messages
git remote
Gérer un ensemble de dépôts suivis
git remote -v
Liste toutes les connexions distantes
git fetch
Télécharger objets et références depuis un autre dépôt
git fetch origin
Récupère les changements mais ne les intègre pas
git pull
Récupérer depuis et intégrer avec un autre dépôt
git pull origin main
Combinaison de git fetch et git merge
git push
Mettre à jour les références distantes avec les objets associés
git push origin main
Pousse les commits locaux vers le dépôt distant
git show
Afficher différents types d'objets
git show commit-hash
Montre les données du commit et les diffs
git blame
Montrer quelle révision a modifié en dernier chaque ligne d'un fichier
git blame filename.js
Montre qui a changé quoi et quand dans un fichier
git grep
Imprimer les lignes correspondant à un motif
git grep "function"
Rechercher des chaînes spécifiques dans les fichiers suivis
git diff-tree
Comparer le contenu et le mode des blobs dans les arbres
git diff-tree HEAD HEAD~1
Montre tous les changements entre deux points de commit
git restore
Restaurer les fichiers de l'arbre de travail
git restore filename.js
Remplacement moderne de git checkout pour annuler les changements
git reset
Réinitialiser le HEAD courant à l'état spécifié
git reset HEAD~1
Utilisez --soft pour garder les changements, --hard pour les abandonner
git revert
Créer un nouveau commit qui annule les changements précédents
git revert commit-hash
Plus sûr que reset pour les branches partagées
git clean
Supprimer les fichiers non suivis de l'arbre de travail
git clean -fd
Utilisez le flag -n pour voir ce qui serait supprimé
git stash
Mettre de côté les changements dans un répertoire de travail sale
git stash save "WIP: feature"
Utilisez git stash pop pour appliquer et supprimer le stash
git cherry-pick
Appliquer les changements de commits existants
git cherry-pick commit-hash
Applique les changements de commits spécifiques à la branche courante
git bisect
Utiliser la recherche binaire pour trouver un commit qui a introduit un bug
git bisect start git bisect bad git bisect good commit-hash
Aide à localiser quel commit a causé un bug
git worktree
Gérer plusieurs arbres de travail attachés au même dépôt
git worktree add ../path branch-name
Créer une copie de travail liée pour travailler sur plusieurs branches
git submodule
Initialiser, mettre à jour ou inspecter les sous-modules
git submodule add https://github.com/username/repo.git
Inclure d'autres dépôts Git dans votre dépôt
git reflog
Gérer les informations reflog
git reflog
Montre un log des changements du HEAD dans le dépôt local
Raccourcis Clavier

Raccourcis Clavier Git

Ces raccourcis clavier fonctionnent dans différents environnements Git et peuvent augmenter votre productivité.

RaccourciDescription
TabAuto-complétion des commandes Git, noms de branches et chemins de fichiers
Ctrl + RRechercher dans l'historique des commandes
/ Naviguer dans les commandes précédemment utilisées
Ctrl + LEffacer l'écran du terminal
Ctrl + CAnnuler la commande ou opération en cours
qQuitter les pages de log, diff ou aide
Conseils Pro

Conseils Pro Git

Configuration Git Personnalisée

Configurez le .gitconfig global pour une expérience personnalisée :

[user]
  name = Votre Nom
  email = [email protected]
[core]
  editor = code --wait
  autocrlf = input
[color]
  ui = auto
[pull]
  rebase = true

Créer un .gitignore global

Ignorer des fichiers à l'échelle système plutôt que dans chaque projet :

# Créer un gitignore global
touch ~/.gitignore_global

# Ajouter des fichiers courants à ignorer
echo ".DS_Store
node_modules/
.vscode/
*.log
.env" >> ~/.gitignore_global

# Le configurer dans git
git config --global core.excludesfile ~/.gitignore_global