web-dev-qa-db-fra.com

Fichier .gitignore, où dois-je le placer dans mon projet xcode?

Je veux que git ignore mon fichier UserInterfaceState.xcuserstate Dans mon projet XCode4, mais où dois-je placer le fichier .gitignore?, Est-il situé dans le dossier .git? ou dehors? Le .git Se trouve dans le même dossier que le fichier ProjectName.xcodeproj

Vous pouvez avoir un .gitignore dans chaque répertoire de votre projet.

Cependant, la meilleure pratique consiste à avoir un seul .gitignore dans le répertoire racine du projet et placez-y tous les fichiers que vous souhaitez ignorer, comme ceci:

ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn

Une fois que vous créez le .gitignore fichier, les fichiers ignorés qui ont été modifiés ou qui sont nouveaux dans le référentiel ne seront pas affichés comme en attente de validation.

Vous pouvez également avoir un fichier git ignore local global global, qui gérera tous vos référentiels git.

git config --global core.excludesfile ~/.gitignore_global

Cette alternative est particulièrement intéressante pour les fichiers ignorés qui ne sont pas liés au projet, tels que IDE associés, etc.).

124
Daniel Ribeiro

Il y a différentes approches pour ignorer les fichiers dans git:

  1. Global git ignore: - Dans cette approche, vos règles personnalisées seront appliquées à tous les répertoires git de votre machine. Habituellement, ce fichier peut être créé sous ~/.gitignore_global chemin. Cette approche est utile si vous souhaitez exclure certains types de fichiers générés par le système d'exploitation ou tout autre outil de journalisation, d'encaissement, etc.)!
  2. git ignoré par référentiel: - Dans cette approche, vos règles personnalisées seront appliquées à un répertoire git spécifique de votre machine. Des règles locales par référentiel peuvent être ajoutées à la .git/info/exclude fichier dans votre référentiel. Les règles spécifiées dans ce fichier ne seront pas validées, ce qui signifie qu'elles ne seront pas partagées avec d'autres. Généralement, cette approche est utile pour empêcher la validation de fichiers générés localement. Par exemple, pour les fichiers créés par votre éditeur.
  3. git ignorer par chemin: - Dans ce cas, vos règles personnalisées seront appliquées à des sous-chemins de référentiels git spécifiques. Vous pouvez créer .gitignore dans n'importe quel sous-chemin de votre référentiel spécifique. Cette approche est généralement utilisée pour ignorer certains types de fichiers uniquement dans des dossiers spécifiques d'un référentiel spécifique. Bien que ces fichiers puissent être ajoutés au contrôle de version par d’autres chemins et référentiels.

Donc, je vous suggère, si vous voulez ignorer votre fichier spécifique (UserInterfaceState.xcuserstate) Dans tous vos référentiels, la meilleure approche consiste à utiliser l’approche globale git ignore. Toutefois, si votre fichier est généré uniquement dans un référentiel spécifique, vous pouvez utiliser l'approche git ignore par référentiel.

Pour plus d'informations, vous pouvez lire this excellent article de blog. Et on peut fonder des règles spécifiques à git ignore par langue ici . Et vous pouvez générer automatiquement des règles générales git ignore pour un langage, un outil ou un système d’exploitation spécifique en utilisant ce site Web .

21
Khamidulla

Vous devez placer le fichier .gitignore dans le répertoire racine du projet.

20
heinrich5991

où dois-je placer le fichier .gitignore?, se trouve-t-il dans le dossier .git?

Il n'y a pas de .gitignore Dans un dossier .git.
Toutefois, il s’agit d’un fichier .git/info/exclude, Qui vous permet d’exclure un fichier localement, généralement lorsque vous souhaitez exclure un fichier uniquement pour ce dépôt spécifique (avec un n alias du même type que celui-ci)). ):

git config alias.exclude "!sh -c 'echo \"$1\" >> .git/info/exclude' -"
git exclude UserInterfaceState.xcuserstate

Si vous avez besoin d'exclure ce fichier pour tout projet similaire, en tant que Elnur Abdurrakhimov mentionné dans sa réponse =, excluez-le globalement.

echo UserInterfaceState.xcuserstate >> ~/.gitignore

Mais, comme mentionné dans " Faut-il archiver * .xcuserstate? ", s'il s'agit d'un type de fichier qui devrait être ignoré par tout utilisateur de ce référentiel, je souhaite en fait la version d'un .gitignore en haut du référentiel, avec un contenu similaire à:

*.xcuserstate 

De cette façon, aucun utilisateur de ce référentiel ne réalisera même que ce fichier existe et est généré (quel que soit son nom): il n'apparaîtra jamais dans un git status.

Ou vous pouvez ignorer xcuserdata/ entièrement (soit dans un global .gitignore, Soit dans un versionné, comme le générique GitHub Objective-C.gitignore fichier.

12
VonC

Vous devez not mettre des fichiers spécifiques à un outil dans le fichier .gitignore D'un projet - à moins que cet outil ne soit utilisé par chaque développeur du projet.

Au lieu de cela, créez votre fichier global personnel .gitignore Dans votre répertoire personnel et activez-le:

git config --global core.excludesfile ~/.gitignore

Vous pouvez maintenant mettre tous les fichiers générés par vos outils de développement dans votre fichier .gitignore.

9
Elnur Abdurrakhimov

généralement, sa meilleure pratique consiste à inclure le .gitignore fichier dans le répertoire racine du projet

6
Ajey