Partager via


Ignorer les modifications de fichier avec Git

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Visual Studio 2019 | Visual Studio 2022

Chaque fichier de votre projet n’a pas besoin de suivi par Git. Les exemples de fichiers qui n’ont généralement pas besoin de suivi incluent des fichiers temporaires à partir de votre environnement de développement, des sorties de test et des journaux.

Vous pouvez utiliser plusieurs mécanismes pour informer Git quels fichiers de votre projet ne doivent pas être suivis et pour vous assurer que Git ne signale pas les modifications apportées à ces fichiers. Pour les fichiers que Git ne suit pas, vous pouvez utiliser un ou .gitignore un exclude fichier. Pour les fichiers déjà suivis par Git, vous pouvez demander à Git d’arrêter de les suivre et d’ignorer les modifications.

Prerequisites

Catégorie Spécifications
Accès au projet Membre d’un projet.
Permissions - Afficher le code dans des projets privés : accès au moins de base .
- Clonez ou contribuez au code dans des projets privés : membre du groupe de sécurité Contributeurs ou autorisations correspondantes dans le projet.
- Définir des autorisations de branche ou de référentiel : gérer les autorisations pour la branche ou le référentiel.
- Modifier la branche par défaut : modifiez les autorisations des stratégies pour le référentiel.
- Importez un référentiel : membre du groupe de sécurité Administrateurs de projet ou de l’autorisation Créer au niveau du projet Git surAutoriser. Pour plus d’informations, consultez Définir des autorisations de dépôt Git.
Services Dépôts activés.
Outils Optional. Utilisez les commandes az repos : Azure DevOps CLI.

Note

Dans les projets publics, les utilisateurs disposant d’un accès aux parties prenantes ont un accès complet à Azure Repos, notamment l’affichage, le clonage et la contribution au code.

Catégorie Spécifications
Accès au projet Membre d’un projet.
Permissions - Afficher le code : Accès de base au moins.
- Cloner ou contribuer au code : membre du groupe de sécurité Contributeurs ou autorisations correspondantes dans le projet.
Services Dépôts activés.

Utiliser un fichier .gitignore

Vous pouvez indiquer à Git de ne pas suivre certains fichiers dans votre projet en ajoutant et en configurant un fichier .gitignore . Passez en revue les points clés suivants :

  • Fichiers non suivis : les entrées d’un .gitignore fichier s’appliquent uniquement aux fichiers non suivis. Ils n’empêchent pas Git de signaler des modifications aux fichiers suivis. Les fichiers suivis sont des fichiers qui ont été validés et qui existent dans le dernier instantané Git.
  • Modèles de recherche de fichiers : chaque ligne d’un .gitignore fichier spécifie un modèle de recherche de fichier par rapport au chemin d’accès du .gitignore fichier. La syntaxe .gitignore est flexible et prend en charge l’utilisation de caractères génériques pour spécifier des fichiers individuels ou multiples par nom, extension et chemin d’accès. Git correspond .gitignore aux modèles de recherche aux fichiers de votre projet pour déterminer les fichiers à ignorer.
  • Emplacement : en règle générale, vous ajoutez un .gitignore fichier au dossier racine de votre projet. Toutefois, vous pouvez ajouter un .gitignore fichier à n’importe quel dossier de projet pour indiquer à Git quels fichiers ignorer dans ce dossier et ses sous-dossiers à n’importe quelle profondeur imbriquée. Pour plusieurs .gitignore fichiers, les modèles de recherche de fichiers qu’un .gitignore fichier spécifie dans un dossier sont prioritaires sur les modèles qu’un .gitignore fichier spécifie dans un dossier parent.
  • Création : vous pouvez créer manuellement un .gitignore fichier et y ajouter des entrées de modèle de fichier. Vous pouvez également gagner du temps en téléchargeant un .gitignore modèle pour votre environnement de développement à partir du dépôt gitignore GitHub.
  • Avantages : l’un des avantages de l’utilisation d’un .gitignore fichier est que vous pouvez valider les modifications et les partager avec d’autres utilisateurs.

Note

Visual Studio crée automatiquement un .gitignore fichier pour l’environnement de développement Visual Studio lorsque vous créez un dépôt Git.

Visual Studio 2022 offre une expérience de contrôle de version Git via le menu Git , les modifications Git et les menus contextuels dans l’Explorateur de solutions. Visual Studio 2019 version 16.8 offre également l’interface utilisateur Git team Explorer . Pour plus d’informations, consultez l’onglet Visual Studio 2019 - Team Explorer .

Dans la fenêtre Modifications Git , cliquez avec le bouton droit sur tout fichier modifié que vous souhaitez que Git ignore, puis sélectionnez Ignorer cet élément local ou Ignorer cette extension. Ces options de menu n’existent pas pour les fichiers suivis.

Capture d’écran des options de menu contextuel pour les fichiers modifiés dans la fenêtre Modifications Git dans Visual Studio.

  • L’option Ignorer cet élément local ajoute une nouvelle entrée au .gitignore fichier et supprime le fichier sélectionné de la liste des fichiers modifiés.
  • L’option Ignorer cette extension ajoute une nouvelle entrée au .gitignore fichier et supprime tous les fichiers avec la même extension que le fichier sélectionné dans la liste des fichiers modifiés.

L’une ou l’autre option crée un .gitignore fichier s’il n’existe pas déjà dans le dossier racine de votre dépôt et y ajoute une entrée.

Modifier un fichier gitignore

Chaque entrée du .gitignore fichier est soit : un modèle de recherche de fichier qui spécifie les fichiers à ignorer, un commentaire commençant par un signe numérique (#) ou une ligne vide (pour une lisibilité). La .gitignore syntaxe est flexible et prend en charge l’utilisation de caractères génériques pour spécifier des fichiers individuels ou multiples par nom, extension et chemin d’accès. Tous les chemins d’accès pour les modèles de recherche de fichiers sont relatifs au .gitignore fichier.

Voici quelques exemples de modèles de recherche de fichiers courants :

# Ignore all files with the specified name.
# Scope is all repo folders.
config.json

# Ignore all files with the specified extension.
# Scope is all repo folders.
*.json

# Add an exception to prevent ignoring a file with the specified name.
# Scope is all repo folders.
!package.json

# Ignore a file with the specified name.
# Scoped to the 'logs' subfolder.
/logs/test.logfile

# Ignore all files with the specified name.
# Scoped to the 'logs' subfolder and all folders beneath it.
/logs/**/test.logfile

# Ignore all files in the 'logs' subfolder.
/logs/

Dès que vous modifiez un .gitignore fichier, Git met à jour la liste des fichiers qu’il ignore.

Note

Les utilisateurs Windows doivent utiliser une barre oblique (/) comme séparateur de chemin d’accès dans un .gitignore fichier, au lieu d’utiliser une barre oblique inverse (\). Tous les utilisateurs doivent ajouter une barre oblique de fin lors de la spécification d’un dossier.

Utiliser un fichier .gitignore global

Vous pouvez désigner un .gitignore fichier comme un fichier d’ignorer global qui s’applique à tous les dépôts Git locaux. Pour ce faire, utilisez la git config commande comme suit :

git config core.excludesfile <gitignore file path>

Un fichier global .gitignore permet de s’assurer que Git ne valide pas certains types de fichiers, tels que les fichiers binaires compilés, dans n’importe quel dépôt local. Les modèles de recherche de fichiers dans un fichier spécifique au .gitignore dépôt ont la priorité sur les modèles d’un fichier global .gitignore .

Utiliser un fichier d’exclusion

Vous pouvez également ajouter des entrées pour les modèles de recherche de fichiers au exclude fichier dans le .git/info/ dossier de votre dépôt local. Le exclude fichier indique à Git quels fichiers non suivis ignorer. Il utilise la même syntaxe pour les modèles de recherche de fichiers qu’un .gitignore fichier.

Les entrées d’un exclude fichier s’appliquent uniquement aux fichiers non suivis. Ils n’empêchent pas Git de signaler des modifications aux fichiers validés qu’il effectue déjà. exclude Un seul fichier existe par dépôt.

Étant donné que Git ne valide pas ou envoie (push) le exclude fichier, vous pouvez l’utiliser en toute sécurité pour ignorer les fichiers sur votre système local sans affecter quelqu’un d’autre.

Utiliser git update-index pour ignorer les modifications

Parfois, il est pratique d’arrêter temporairement le suivi d’un fichier de dépôt local et d’avoir Git ignorer les modifications apportées au fichier. Par exemple, vous pouvez personnaliser un fichier de paramètres pour votre environnement de développement sans risque de valider vos modifications. Pour ce faire, vous pouvez exécuter la git update-index commande avec l’indicateur skip-worktree :

git update-index --skip-worktree <file path>

Pour reprendre le suivi, exécutez la git update-index commande avec l’indicateur --no-skip-worktree .

Vous pouvez également arrêter temporairement le suivi d’un fichier et demander à Git d’ignorer les modifications apportées au fichier à l’aide de la git update-index commande avec l’indicateur assume-unchanged . Cette option est moins efficace que l’indicateur skip-worktree , car une opération Git pull qui modifie le contenu du fichier peut rétablir l’indicateur assume-unchanged .

git update-index --assume-unchanged <file path>

Pour reprendre le suivi, exécutez la git update-index commande avec l’indicateur --no-assume-unchanged .

Utiliser git rm pour ignorer les modifications

Les entrées d’un fichier ou .gitignore d’un exclude fichier n’ont aucun effet sur les fichiers déjà suivis par Git. Git effectue le suivi des fichiers que vous avez validés précédemment. Pour supprimer définitivement un fichier de l’instantané Git afin que Git ne le suit plus, mais sans le supprimer du système de fichiers, exécutez les commandes suivantes :

git rm --cached <file path>
git commit <some message>

Ensuite, utilisez une entrée ou .gitignore un exclude fichier pour empêcher Git de signaler les modifications apportées au fichier.

Étapes suivantes