Explorer les commandes Git
Chaque commande est une leçon animée, et chaque option une courte démo — ou une explication quand on ne peut pas la montrer honnêtement.
72 commandes · 275 options
✦ Configuration et création de projets
git init
Transformer un dossier en dépôt Git
Créer un dépôt Git vide
git clone
Télécharger un projet depuis GitHub
Copier un dépôt dans un nouveau dossier
git config
Lire et modifier les réglages de Git
Lire et modifier les réglages de Git
git version
Quel Git est installé
Afficher la version de Git installée
git help
Trouver la bonne commande
Afficher l’aide de Git et de ses commandes
git bugreport
Rassembler des informations pour un rapport de bug Git
git diagnose
Rassembler des diagnostics sur le dépôt dans un fichier zip
◐ Instantanés de base
git add
PopulairePréparer des modifications pour le prochain commit
Ajouter le contenu des fichiers à l’index (zone de préparation)
git commit
PopulaireEnregistrer un instantané de ce qui est préparé
Enregistrer des modifications dans le dépôt
git reset
Annuler des commits en reculant la branche
Réinitialiser le HEAD courant à l’état indiqué
git status
Voir ce qui a changé et ce qui est préparé
Afficher l’état de vos fichiers de travail et de la zone de préparation
git diff
Voir exactement les lignes modifiées
Afficher les différences entre vos fichiers, la zone de préparation et les commits
git restore
Annuler les modifications d’un fichier
Restaurer des fichiers dans le répertoire de travail ou la zone de préparation
git rm
Supprimer un fichier et préparer la suppression
Supprimer des fichiers du répertoire de travail et de la zone de préparation
git mv
Renommer ou déplacer un fichier
Déplacer ou renommer un fichier
git clean
Supprimer les fichiers non suivis
Supprimer les fichiers non suivis du répertoire de travail
git revert
Annuler un commit sans risque avec un nouveau commit
Annuler un commit en créant un nouveau commit
⑂ Branches et fusions
git branch
Créer et lister des branches
Lister, créer ou supprimer des branches
git merge
Intégrer une autre branche dans la vôtre
Réunir deux historiques de développement ou plus
git checkout
PopulaireBasculer sur une autre branche
Changer de branche ou restaurer des fichiers de l’arbre de travail
git rebase
AvancéRejouer vos commits sur une base plus récente
Réappliquer des commits par-dessus une autre base
git stash
Mettre de côté un travail inachevé pour changer de tâche
Mettre de côté les modifications d’un répertoire de travail modifié
git cherry-pick
AvancéCopier un commit sur votre branche
Appliquer les modifications de commits précis sur la branche courante
git switch
Passer d’une branche à l’autre
Changer de branche
git tag
Nommer un commit, p. ex. une version
Créer, lister et supprimer des tags
☁ Partager et mettre à jour
git push
PopulaireEnvoyer vos commits vers origin
Mettre à jour les références distantes avec les objets associés
git pull
PopulaireRécupérer les commits de vos collègues
Récupérer depuis un autre dépôt ou une branche locale et intégrer
git fetch
Télécharger les nouveaux commits sans fusionner
Télécharger des objets et des références depuis un autre dépôt
git remote
Voir et ajouter les serveurs avec lesquels vous vous synchronisez
Gérer les dépôts distants avec lesquels vous vous synchronisez
◎ Inspection et comparaison
git log
PopulaireLire l’historique des commits
Afficher l’historique des commits
git show
Regarder à l’intérieur d’un commit
Afficher un commit, un tag ou un fichier dans une version donnée
git reflog
Retrouver des commits perdus
Afficher où HEAD et les branches sont passées
git describe
Nommer un commit d’après le tag le plus proche
Donner à un commit un nom lisible basé sur le tag le plus proche
git shortlog
Résumer les commits par auteur
Résumer l’historique par auteur
git show-branch
Comparer des branches côte à côte
Afficher les branches et les commits que chacune contient
git whatchanged
L’historique avec les fichiers modifiés par chaque commit
Afficher les logs avec les fichiers modifiés par chaque commit (ancien)
git notes
Attacher une note à un commit sans le modifier
Attacher des notes aux commits sans les modifier
git verify-commit
Vérifier la signature GPG des commits
git verify-tag
Vérifier la signature GPG des tags
⌕ Débogage
git blame
Qui a modifié chaque ligne, et quand
Montrer qui a modifié en dernier chaque ligne d’un fichier
git annotate
Blame dans l’ancien format à tabulations
Annoter les lignes d’un fichier avec les infos de commit (ancien format de blame)
git grep
Chercher du texte dans les fichiers suivis
Chercher du texte dans les fichiers suivis
git bisect
Trouver le commit qui a introduit un bug
Trouver le commit qui a introduit un bug par recherche dichotomique
✎ Patchs et réécriture
git format-patch
Transformer des commits en fichiers patch
Transformer des commits en fichiers patch prêts à envoyer par e-mail
git am
Appliquer des fichiers patch comme commits
Appliquer des patchs reçus par e-mail sous forme de commits
git range-diff
Comparer deux versions d’une branche
Comparer deux versions d’une série de commits
git merge-tree
Tester une fusion sans rien toucher
Calculer une fusion sans toucher au répertoire de travail
git rerere
Réutiliser une résolution de conflit enregistrée
Réutiliser des résolutions de conflit enregistrées
git filter-branch
Réécrire l’historique avec des filtres (obsolète — utilisez git filter-repo)
git replace
Remplacer un objet par un autre, sans réécrire l’historique
git history
Réécrire des commits avec des sous-commandes simples (expérimental)
▦ Espaces de travail et gros projets
git worktree
Travailler sur deux branches à la fois
Extraire plusieurs branches à la fois dans des dossiers séparés
git sparse-checkout
N’extraire que certains dossiers
N’extraire que certains dossiers d’un grand dépôt
git submodule
Inclure d’autres dépôts dans votre dépôt
git backfill
Télécharger le contenu manquant des fichiers dans un clone partiel
⚙ Administration
git archive
Exporter une version en fichier zip ou tar
Exporter les fichiers d’un commit dans une archive zip ou tar
git bundle
Déplacer un dépôt sous forme d’un seul fichier
Empaqueter des commits et des branches dans un seul fichier
git fsck
Vérifier le dépôt et retrouver des commits perdus
Vérifier le dépôt et trouver les objets inaccessibles
git fast-export
Vider l’historique en flux texte
Exporter l’historique sous forme de flux fast-import
git fast-import
Construire un dépôt à partir d’un flux fast-import
git gc
Nettoyer et optimiser le dépôt
git maintenance
Lancer ou planifier la maintenance du dépôt en arrière-plan
git repack
Empaqueter les objets libres dans des packfiles
git pack-refs
Empaqueter les références dans un seul fichier
git prune
Supprimer les objets inaccessibles
git count-objects
Compter les objets et montrer l’espace disque utilisé
git refs
Accès bas niveau au stockage des références
git instaweb
Parcourir le dépôt dans un navigateur web
⧉ Outils externes
git mergetool
Résoudre les conflits de fusion avec un outil visuel
git difftool
Afficher les modifications dans un outil de diff visuel
git gui
Ouvrir l’interface graphique fournie avec Git
git citool
Faire un commit avec l’outil graphique de commit