Comment vérifier les changements non validés dans Git ?

Git est l’un des outils de contrôle de version les plus populaires parmi les développeurs. Il permet de gérer efficacement les versions de code, de collaborer avec des équipes, et de maintenir un historique clair des modifications. L’une des tâches essentielles dans Git est de vérifier les changements non validés dans un dépôt. Cela permet aux développeurs de comprendre les modifications en cours avant de les valider ou de les publier.

Qu’est-ce qu’un changement non validé dans Git ?

Un changement non validé fait référence à toute modification apportée à un fichier dans un dépôt Git qui n’a pas encore été incluse dans une validation (commit). Ces modifications peuvent être visibles dans deux zones principales :

  • La zone de travail : Les fichiers qui ont été modifiés mais qui n’ont pas encore été indexés.
  • La zone d’index : Les fichiers qui ont été ajoutés à l’index (staged) mais qui ne sont pas encore validés.

Comprendre et inspecter ces changements est crucial pour maintenir un flux de travail propre et éviter les erreurs de gestion des versions.

Commandes essentielles pour vérifier les changements

1. git status

La commande git status est souvent la première étape pour vérifier l’état de votre dépôt. Elle fournit une vue d’ensemble des fichiers modifiés, des fichiers non suivis, et des fichiers en attente de validation.

$ git status

Le résultat vous indiquera :

  • Les fichiers modifiés mais non indexés.
  • Les fichiers ajoutés à l’index.
  • Les nouveaux fichiers non suivis.

2. git diff

La commande git diff est utilisée pour examiner les différences entre les fichiers modifiés et leur dernière version validée. Cette commande est très utile pour identifier les lignes spécifiques qui ont été modifiées.

$ git diff

Par défaut, git diff compare les modifications dans la zone de travail avec la dernière validation. Si vous souhaitez examiner les différences dans la zone d’index, utilisez :

$ git diff --cached

3. git log -p

La commande git log -p fournit une vue détaillée des modifications pour chaque validation. Bien qu’elle ne montre pas les changements non validés, elle peut être utilisée pour comprendre les modifications précédentes dans le contexte actuel.

$ git log -p

4. git diff HEAD

Pour comparer tous les changements non validés (zone de travail et index) avec la dernière validation, vous pouvez utiliser :

$ git diff HEAD

Cette commande est particulièrement utile pour avoir une vue complète de toutes les modifications en cours.

Comprendre les zones de Git

Git organise les fichiers en trois zones principales :

  • La zone de travail : Contient les fichiers que vous modifiez directement. Ces modifications ne sont pas encore suivies par Git.
  • La zone d’index : Un espace temporaire où vous ajoutez des fichiers modifiés pour indiquer qu’ils doivent être inclus dans la prochaine validation.
  • Le référentiel : Contient les validations, c’est-à-dire les versions sauvegardées de vos fichiers.

Vérifier les changements non validés implique d’inspecter les deux premières zones.

Exemples pratiques

1. Vérifier les fichiers modifiés

Pour vérifier les fichiers modifiés mais non ajoutés à l’index, utilisez :

$ git status

Si vous voulez plus de détails sur les modifications :

$ git diff

2. Vérifier les fichiers ajoutés à l’index

Une fois les fichiers ajoutés à l’index avec git add, vous pouvez utiliser :

$ git diff --cached

3. Annuler des modifications

Pour annuler des modifications non validées, utilisez git checkout ou git restore :

$ git restore file_name

Pour retirer des fichiers de l’index :

$ git restore --staged file_name

Astuce pour les IDE et les outils graphiques

Si vous utilisez un IDE comme Visual Studio Code, JetBrains IntelliJ, ou des outils graphiques comme GitKraken, vous pouvez visualiser facilement les changements non validés grâce aux interfaces intégrées. Ces outils offrent une visualisation conviviale des différences et des options pour gérer les fichiers dans différentes zones.

Conclusion

La vérification des changements non validés dans Git est une compétence essentielle pour tout développeur. En utilisant des commandes telles que git status, git diff, et git diff --cached, vous pouvez facilement identifier les modifications en cours et maintenir un flux de travail organisé. Prenez l’habitude d’examiner vos changements avant de valider, car cela vous aidera à éviter les erreurs et à améliorer la qualité de votre code.

En maîtrisant ces outils, vous serez mieux préparé à collaborer efficacement avec votre équipe et à gérer les versions de votre projet avec confiance.