Comment vérifier si un fichier est dans l'index 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 à vérifier si un fichier se trouve dans l'index Git, également connu sous le nom de zone de préparation (staging area). Nous explorerons le concept de l'index et son rôle dans la préparation des modifications pour les validations (commits).

Vous utiliserez la commande git ls-files --stage pour afficher le contenu de l'index et la commande git status pour obtenir un aperçu complet de l'état de votre dépôt (repository), y compris les modifications préparées (staged) et non préparées (unstaged). Enfin, vous testerez la façon dont Git gère les fichiers qui n'ont pas encore été ajoutés à l'index.


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-560028{{"Comment vérifier si un fichier est dans l'index Git"}} git/status -.-> lab-560028{{"Comment vérifier si un fichier est dans l'index Git"}} end

Exécuter git ls-files --stage

Dans cette étape, nous allons explorer l'index Git, également connu sous le nom de zone de préparation (staging area). L'index est un concept crucial dans Git. C'est comme une zone d'attente où vous préparez les modifications avant de les valider (committer).

Pensez-y de cette manière : lorsque vous apportez des modifications aux fichiers dans votre répertoire de travail (working directory), elles ne sont pas automatiquement incluses dans votre prochaine validation (commit). Vous devez d'abord les ajouter à l'index en utilisant git add. L'index contient un instantané (snapshot) des modifications que vous avez préparées (staged), prêtes à être validées.

Pour voir ce qui se trouve actuellement dans l'index, nous utilisons la commande git ls-files --stage. Cette commande liste les fichiers qui sont actuellement préparés (staged) pour la prochaine validation (commit).

Essayons-le dans votre répertoire my-time-machine :

cd ~/project/my-time-machine
git ls-files --stage

Étant donné que nous n'avons pas encore ajouté de fichiers à l'index dans ce nouveau dépôt (repository), vous ne devriez voir aucun résultat. Cela indique que l'index est actuellement vide.

Comprendre l'index est essentiel pour maîtriser Git. Il vous donne un contrôle précis sur ce qui est inclus dans chaque validation (commit), vous permettant de regrouper les modifications connexes et de maintenir votre historique de validations propre et organisé.

Utiliser git status pour vérifier l'index

Dans l'étape précédente, nous avons utilisé git ls-files --stage pour voir le contenu de l'index. Une autre commande qui nous aide à comprendre l'état de notre dépôt (repository), y compris l'index, est git status.

La commande git status fournit un résumé de ce qui se passe dans votre répertoire de travail (working directory) et la zone de préparation (staging area) par rapport à votre dernière validation (commit). Elle vous indique quels fichiers ont été modifiés, quels sont préparés (staged) pour la prochaine validation et quels sont non suivis (untracked).

Exécutons git status dans notre répertoire my-time-machine :

cd ~/project/my-time-machine
git status

Étant donné que c'est un nouveau dépôt et que nous n'avons pas encore créé de fichiers ni effectué de validations, la sortie devrait ressembler à ceci :

On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

Cette sortie confirme qu'il n'y a pas de modifications à valider, ce qui signifie que l'index est vide, tout comme nous l'avait montré git ls-files --stage. Le message "nothing to commit" est directement lié à l'état de l'index.

Au fur et à mesure que nous progresserons dans le laboratoire (lab) et commencerons à créer et à préparer (stage) des fichiers, vous verrez comment la sortie de git status change pour refléter le contenu de l'index et l'état de votre répertoire de travail.

Tester les fichiers non indexés

Dans cette étape, nous allons créer un nouveau fichier dans notre répertoire de travail (working directory) et observer comment Git le reconnaît avant qu'il ne soit ajouté à l'index. Cela vous aidera à comprendre la différence entre les fichiers dans votre répertoire de travail et les fichiers dans l'index.

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

cd ~/project/my-time-machine

Maintenant, créons un simple fichier texte en utilisant la commande echo :

echo "This is a new file." > new_file.txt

Cette commande crée un fichier nommé new_file.txt et écrit le texte "This is a new file." dedans.

Maintenant, vérifions à nouveau l'état de notre dépôt (repository) en utilisant git status :

git status

Vous devriez voir une sortie similaire à celle-ci :

On branch master

No commits yet

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

nothing added to commit but untracked files present (use "git add" to track)

Remarquez la section "Untracked files:" (fichiers non suivis). Git voit que new_file.txt existe dans le répertoire de travail, mais n'est pas encore suivi par Git. Cela signifie qu'il n'est pas dans l'index et n'est pas partie de l'historique des validations (commits).

Ceci est un concept clé : Git ne suit que les fichiers que vous lui dites explicitement de suivre en utilisant git add. Tous les nouveaux fichiers créés dans le répertoire de travail d'un dépôt Git sont initialement "non suivis".

Dans l'étape suivante, nous allons ajouter ce fichier à l'index, le préparant pour notre première validation (commit).

Résumé

Dans ce laboratoire (lab), nous avons appris à vérifier si un fichier se trouve dans l'index Git, également connu sous le nom de zone de préparation (staging area). Nous avons utilisé la commande git ls-files --stage pour lister directement les fichiers actuellement préparés (staged) pour la prochaine validation (commit). Nous avons également exploré la commande git status, qui fournit un aperçu complet de l'état du dépôt (repository), y compris des informations sur les fichiers préparés, modifiés et non suivis (untracked), nous aidant ainsi à vérifier le contenu de l'index.