Quelle est la différence entre git stash et git clean ?
Lorsque vous travaillez avec Git, il est important de bien comprendre les différentes commandes qui permettent de gérer votre code et de le nettoyer. Deux des commandes les plus utilisées dans ce cadre sont git stash et git clean, mais bien qu’elles semblent similaires, elles ont des fonctions distinctes. Cet article expliquera en détail la différence entre git stash et git clean, leurs cas d’utilisation respectifs, et quand il est approprié de les utiliser.
Qu’est-ce que git stash ?
git stash est une commande Git utilisée pour enregistrer temporairement les modifications non validées dans votre répertoire de travail. Cela vous permet de revenir à un état de travail propre sans perdre vos modifications en cours. Cette commande est particulièrement utile lorsque vous devez changer de branche, mais que vous n’êtes pas encore prêt à valider les modifications actuelles.
En utilisant git stash, Git prend un instantané de vos modifications (y compris les fichiers suivis et les modifications non suivies) et les stocke dans un espace temporaire appelé le stash. Vous pouvez ensuite récupérer ces modifications plus tard en utilisant la commande git stash apply ou git stash pop, selon vos besoins.
Exemple d’utilisation de git stash
git stash
Cette commande enregistre toutes les modifications non validées dans votre répertoire de travail et vous ramène à l’état de votre dernier commit.
git stash apply
Cette commande applique les modifications du dernier stash sur votre répertoire de travail, sans supprimer le stash. Vous pouvez appliquer plusieurs fois un stash si nécessaire.
git stash pop
Contrairement à git stash apply, git stash pop applique les modifications et supprime ensuite le stash de la liste.
Qu’est-ce que git clean ?
git clean est une commande utilisée pour supprimer les fichiers non suivis dans votre répertoire de travail. Contrairement à git stash, qui permet de sauvegarder temporairement les modifications, git clean permet de supprimer les fichiers qui ne sont pas suivis par Git (fichiers ignorés ou générés localement). Cela inclut les fichiers qui ne sont pas présents dans l’index de Git (c’est-à-dire qui n’ont pas été ajoutés avec git add).
Cette commande est utile lorsque vous souhaitez nettoyer votre répertoire de travail en supprimant les fichiers temporaires ou indésirables sans toucher aux fichiers suivis ou aux modifications en cours.
Exemple d’utilisation de git clean
git clean -n
La commande git clean -n affiche la liste des fichiers qui seraient supprimés sans réellement les supprimer. C’est une bonne pratique de l’utiliser avant d’effectuer un nettoyage définitif.
git clean -f
La commande git clean -f supprime effectivement les fichiers non suivis dans votre répertoire de travail. Cette opération est irréversible, alors assurez-vous d’avoir bien vérifié les fichiers à supprimer.
git clean -fd
La commande git clean -fd supprime à la fois les fichiers non suivis et les répertoires non suivis. Soyez particulièrement prudent lors de l’utilisation de cette option.
Différences clés entre git stash et git clean
1. Objectif principal
La principale différence entre git stash et git clean réside dans leur objectif. git stash est conçu pour enregistrer temporairement vos modifications en cours, tandis que git clean est utilisé pour supprimer les fichiers non suivis dans votre répertoire de travail. En résumé, git stash conserve vos fichiers, tandis que git clean les supprime.
2. Effet sur les fichiers
Lorsque vous utilisez git stash, les fichiers sont déplacés vers un espace temporaire sans être supprimés du système de fichiers. Vous pouvez les restaurer plus tard. En revanche, git clean supprime les fichiers non suivis du répertoire de travail de manière permanente (sauf si vous utilisez l’option -n pour simuler l’opération).
3. Cas d’utilisation
Utilisez git stash lorsque vous souhaitez enregistrer temporairement des modifications pour revenir à un état propre et travailler sur une autre branche, puis revenir à vos modifications plus tard. En revanche, git clean est utilisé lorsque vous avez des fichiers inutiles ou temporaires dans votre répertoire de travail et que vous souhaitez les supprimer pour garder votre environnement de développement propre.
4. Récupération des fichiers
Les modifications sauvegardées avec git stash peuvent être récupérées à tout moment avec git stash apply ou git stash pop. Cependant, les fichiers supprimés avec git clean ne peuvent pas être récupérés (sauf si vous avez utilisé une sauvegarde externe ou un système de gestion de versions pour les conserver).
Quand utiliser git stash ou git clean ?
Utiliser git stash
Utilisez git stash lorsque vous avez besoin de sauvegarder temporairement vos modifications avant de changer de branche ou de revenir à un état propre dans votre répertoire de travail. Cela vous permet de revenir à votre travail plus tard sans perdre vos progrès.
Utiliser git clean
Utilisez git clean lorsque vous voulez supprimer des fichiers non suivis, tels que des fichiers temporaires générés par un environnement de développement ou des fichiers ignorés. Cela permet de garder votre répertoire de travail organisé et propre.
Conclusion
Bien que git stash et git clean soient tous deux des commandes utiles pour gérer votre répertoire de travail Git, elles servent à des fins très différentes. git stash est destiné à sauvegarder temporairement vos modifications, tandis que git clean est conçu pour supprimer les fichiers non suivis. En comprenant ces différences, vous pourrez utiliser ces commandes de manière plus efficace et gérer vos projets Git avec plus de flexibilité.
Que vous soyez un développeur débutant ou expérimenté, maîtriser ces outils vous aidera à garder un environnement de travail propre et organisé tout en vous permettant de gérer efficacement vos modifications dans Git.
