15 commandes git que vous devriez connaitre !
Voici une liste de 15 commandes Git que vous ne connaissez peut-être pas encore, mais qui, nous l'espérons, vous aideront à maîtriser cet outil.
L'utilisation de Git peut parfois être intimidante. Il y a tant de commandes et de détails à apprendre. La documentation, bien qu'immense, reste néanmoins très accessible. Une fois que vous aurez surmonté le sentiment initial d'être submergé, les choses commenceront à se mettre en place.
Voici une liste de 15 commandes Git que vous ne connaissez peut-être pas encore, mais qui, nous l'espérons, vous aideront à maîtriser cet outil.
1. Modifier le dernier commit
git commit --amend
--amend
permet d'ajouter des changements échelonnés (par exemple pour ajouter un fichier oublié) au commit précédent. Ajouter --no-edit
en plus de cela modifiera le dernier commit sans changer son message de commit. S'il n'y a pas de changements, --amend
vous permettra de reformuler le dernier message de commit.
Pour en savoir plus : git help commit
2. Ajouter de manière interactive des parties de fichiers sélectionnées
-p
(ou -patch
) permet de sélectionner de manière interactive des parties de chaque fichier suivi à commit. De cette façon, chaque commit ne contient que les modifications liées.
Pour en savoir plus : git help add
3. Stash interactif de sections de fichiers sélectionnées
git stash -p
Comme pour git-add , vous pouvez utiliser l'option --patch
pour sélectionner de manière interactive les parties de chaque fichier suivi à mettre en cache.
Pour en savoir plus : git help stash
4. Stash des fichiers non traqué
git stash -u
Par défaut, lors de la mise en cache, les fichiers non tracés ne sont pas inclus. Afin de modifier cette valeur et d'inclure ces fichiers, vous devez utiliser le paramètre -u
. Il y a aussi -a (-all) qui stocke à la fois les fichiers non tracés et les fichiers ignorés, ce qui est probablement quelque chose dont vous n'aurez pas besoin.
5. Annuler de manière interactive certaines parties de fichiers
git checkout -p
--patch
peut également être utilisé pour éliminer de manière sélective des parties de chaque fichier suivi. J'ai aliasé cette commande comme suit : git discard
Pour en savoir plus : git help checkout
6. Passer à la branche précédente
git checkout -
Cette commande vous permet de passer rapidement à la branche précédemment vérifiée. D'une manière générale -
est un alias pour la branche précédente. Il peut également être utilisé avec d'autres commandes.
7. Annuler tous les changements locaux
git checkout .
Si vous êtes sûr que tous vos changements locaux peuvent être rejetés, vous pouvez utiliser . pour le faire en une seule fois. Toutefois, c'est une bonne pratique de toujours utiliser
checkout --patch
8. Afficher les changements
git diff --staged
Cette commande affiche tous les changements échelonnés (ceux ajoutés à l'index) contrairement à git diff
qui n'affiche que les changements dans le répertoire de travail (sans ceux de l'index).
Pour en savoir plus : git help diff
9. Renommer les branches au niveau local
git branch -m old-name new-name
Si vous souhaitez renommer la branche en cours d'extraction, vous pouvez raccourcir cette commande en utilisant le format suivant :
git branch -m new-name
10. Renommer les branches à distance
Pour renommer une branche à distance, une fois que vous avez renommé votre branche localement, vous devez d'abord supprimer cette branche à distance, puis pousser la branche renommée à nouveau.
git push origin :old-name
git push origin new-name
11. Ouvrir tous les dossiers comportant des conflits en même temps
Le changement de base peut entraîner des conflits, la commande suivante ouvrira tous les fichiers qui ont besoin de votre aide pour résoudre ces conflits.
git diff --name-only --diff-filter=U | uniq | xargs $EDITOR
12. Qu'est-ce qui a changé ?
git whatchanged --since='2 weeks ago'
Cette commande affichera un journal avec les changements introduits par chaque commit depuis les deux dernières semaines.
13. Supprimer le fichier du dernier commit
Disons que vous avez commit un dossier par erreur. Vous pouvez rapidement supprimer ce fichier du dernier commit en combinant les commandes rm
et commit --amend
:
git rm --cached <fichier>
git commit --amend
14. Trouver des branches
git branch --contains <commit>
Cette commande affichera toutes les branches qui contiennent un commit particulier.
15. Optimiser le dépôt localement
git gc --prune=now --aggressive
Pour en savoir plus : git help gc