15 commandes Git que vous devriez connaitre

15 commandes Git que vous devriez connaitre

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

git add -p

-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 --agressif

Pour en savoir plus : git help gc