Comment vérifier si un fichier n'est pas suivi dans Git

GitGitBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à identifier les fichiers non suivis (untracked files) dans votre dépôt Git. Vous explorerez deux méthodes principales : utiliser la commande git status pour afficher l'état global du dépôt, y compris les fichiers non suivis, et utiliser la commande git ls-files --others pour obtenir une liste plus ciblée uniquement des fichiers non suivis. À la fin de ce laboratoire, vous comprendrez comment Git fait la distinction entre les fichiers suivis (tracked files) et les fichiers non suivis et comment utiliser ces commandes pour gérer efficacement les fichiers de votre projet.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git/BasicOperationsGroup -.-> git/add("Stage Files") git/BasicOperationsGroup -.-> git/status("Check Status") subgraph Lab Skills git/add -.-> lab-560033{{"Comment vérifier si un fichier n'est pas suivi dans Git"}} git/status -.-> lab-560033{{"Comment vérifier si un fichier n'est pas suivi dans Git"}} end

Exécuter git status pour lister les fichiers non suivis

Dans cette étape, nous allons utiliser la commande git status pour voir comment Git suit les fichiers et identifie ceux qu'il ne connaît pas encore.

Tout d'abord, assurez-vous que vous êtes dans le répertoire my-time-machine. Si ce n'est pas le cas, utilisez la commande cd :

cd ~/project/my-time-machine

Maintenant, créons un nouveau fichier dans ce répertoire. Nous l'appellerons notes.txt :

echo "Ideas for future projects" > notes.txt

Cette commande crée un fichier nommé notes.txt et y place le texte "Ideas for future projects".

Maintenant, demandons à Git l'état de notre dépôt :

git status

Vous devriez voir une sortie similaire à celle-ci :

On branch master
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   message.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        notes.txt

Remarquez la section "Untracked files:" (Fichiers non suivis). Git voit qu'un nouveau fichier, notes.txt, existe dans le répertoire, mais il ne fait pas encore partie de l'historique du dépôt. Git ne suit pas automatiquement tous les fichiers que vous créez. Cela vous donne le contrôle sur les fichiers inclus dans votre contrôle de version.

Pourquoi est-ce important ? Imaginez que vous avez des fichiers temporaires, des sorties de compilation ou des notes personnelles dans votre répertoire de projet. Vous ne voudriez pas que ces éléments encombrent l'historique de votre projet. Le statut "non suivi" de Git vous permet de séparer ces fichiers des fichiers que vous gérez activement avec le contrôle de version.

Dans l'étape suivante, nous explorerons une autre façon de lister ces fichiers non suivis.

Utiliser git ls-files --others

Dans l'étape précédente, nous avons vu que git status nous montre les fichiers non suivis (untracked files). Git propose également une commande plus directe pour lister les fichiers de l'index et de l'arborescence de travail (working tree). Nous pouvons utiliser la commande git ls-files avec l'option --others pour lister uniquement les fichiers non suivis.

Assurez-vous que vous êtes toujours dans le répertoire ~/project/my-time-machine :

cd ~/project/my-time-machine

Maintenant, exécutez la commande suivante :

git ls-files --others

Vous devriez voir la sortie suivante :

notes.txt

Cette commande liste spécifiquement les fichiers présents dans votre répertoire de travail mais non suivis par Git. C'est une commande utile lorsque vous souhaitez obtenir une liste propre uniquement des fichiers que Git ignore actuellement ou qu'il ne connaît pas encore.

Comparaison entre git status et git ls-files --others :

  • git status vous donne une vue d'ensemble complète de l'état de votre dépôt, y compris les fichiers suivis avec des modifications, les modifications préparées (staged changes) et les fichiers non suivis.
  • git ls-files --others est plus ciblée et ne liste que les fichiers non suivis.

Les deux commandes sont utiles dans différentes situations. git status est idéale pour avoir une vue d'ensemble générale, tandis que git ls-files --others est pratique lorsque vous souhaitez spécifiquement identifier les fichiers non suivis, peut-être pour décider s'il faut les ajouter au dépôt ou les ignorer.

Dans l'étape suivante, nous explorerons plus en détail la différence entre les fichiers suivis et non suivis en ajoutant un autre fichier et en observant comment Git réagit.

Tester les fichiers suivis et non suivis

Dans cette étape, nous approfondirons notre compréhension des fichiers suivis (tracked files) et non suivis (untracked files) en ajoutant le fichier notes.txt au suivi de Git et en observant le changement d'état.

Tout d'abord, assurez-vous que vous êtes dans le répertoire ~/project/my-time-machine :

cd ~/project/my-time-machine

Maintenant, demandons à Git de commencer à suivre le fichier notes.txt en utilisant la commande git add :

git add notes.txt

Cette commande ajoute le fichier notes.txt à la zone de préparation (staging area), le préparant à être inclus dans le prochain commit.

Maintenant, vérifions à nouveau l'état de notre dépôt :

git status

Vous devriez voir une sortie similaire à celle-ci :

On branch master
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   message.txt
        new file:   notes.txt

Remarquez que notes.txt n'est plus répertorié sous "Untracked files:" (Fichiers non suivis). Au lieu de cela, il apparaît sous "Changes to be committed:" (Modifications à valider), marqué comme un "nouveau fichier". Cela signifie que Git suit maintenant le fichier notes.txt et qu'il est prêt à être inclus dans votre prochain point de sauvegarde (commit).

Cela illustre la différence clé :

  • Fichiers non suivis : Les fichiers qui se trouvent dans votre répertoire de travail mais qui n'ont pas été ajoutés à la zone de préparation avec git add. Git sait qu'ils existent, mais ne gère pas leurs versions.
  • Fichiers suivis : Les fichiers que Git gère activement. Une fois qu'un fichier est ajouté et validé (committed), Git suit ses modifications au fil du temps.

En utilisant git add, vous indiquez explicitement à Git quels fichiers vous souhaitez inclure dans votre projet sous contrôle de version. Ce contrôle est essentiel pour gérer efficacement votre projet et maintenir un historique propre.

Dans le prochain laboratoire (lab), nous continuerons à nous appuyer sur ces concepts fondamentaux pour effectuer plus de commits et explorer le potentiel de l'historique de Git.

Résumé

Dans ce laboratoire (lab), nous avons appris à identifier les fichiers non suivis (untracked files) dans un dépôt Git. Nous avons d'abord utilisé la commande git status, qui fournit une vue d'ensemble complète de l'état du dépôt, y compris une section dédiée aux fichiers non suivis. Cela a montré comment Git distingue les fichiers qu'il suit activement des nouveaux fichiers dont il n'est pas au courant.

Nous avons ensuite exploré la commande git ls-files --others comme méthode alternative spécifiquement conçue pour lister uniquement les fichiers non suivis dans le répertoire de travail. Cette commande offre un moyen plus ciblé de voir quels fichiers ne sont pas actuellement sous le contrôle de version de Git. Comprendre comment identifier les fichiers non suivis est crucial pour gérer quels fichiers sont inclus dans l'historique de votre projet et pour maintenir votre dépôt propre.