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


Réponses:


124

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

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

ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn

Une fois que vous avez créé le .gitignorefichier, les fichiers ignorés qui ont des modifications 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 global local git ignore, 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 les fichiers liés à l'IDE, etc.


1
Ce .gitignore doit être ajouté à l'origine ou dans votre copie master / local-repo?
Adil

1
Localement (bien sûr, vous allez le pousser à l'origine à un moment donné).
Daniel Ribeiro

21

Il existe des approches pour ignorer les fichiers dans git:

  1. Global git ignore: - Dans cette approche, vos règles personnalisées seront appliquées à chaque répertoire git de votre machine. Habituellement, ce fichier peut être créé sous le ~/.gitignore_globalchemin. Cette approche est utile si vous souhaitez exclure certains fichiers de type générés par le système d'exploitation ou tout autre outil de journalisation, d'encaissement, etc.
  2. Par référentiel git ignore: - 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 au .git/info/excludefichier dans votre référentiel. Les règles spécifiées sous ce fichier ne seront pas validées, ce qui signifie qu'elles ne seront pas partagées avec d'autres. En général, 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. Par chemin git ignore: - Dans ce cas, vos règles personnalisées seront appliquées à un sous-chemin spécifique des référentiels git. Vous pouvez créer .gitignoredans 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 un dossier spécifique 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 d'autres référentiels.

Donc, ma suggestion est que si vous voulez ignorer votre fichier spécifique ( UserInterfaceState.xcuserstate) dans tous vos référentiels, la meilleure approche est d'utiliser l'approche globale git ignore. Cependant, 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 cet excellent article de blog. Et là, par langue, des règles git ignore spécifiques peuvent être fondées ici . Et vous pouvez générer automatiquement des règles générales d'ignorer git pour un langage, un outil ou un système d'exploitation spécifique en utilisant ce site Web .


20

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


12

où dois-je mettre le .gitignorefichier?, est-il dans le dossier .git?

Il n'y a pas à l' .gitignoreintérieur d'un .gitdossier.
Il s'agit cependant d'un .git/info/excludefichier, 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 alias comme celui-ci ):

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

Si vous devez exclure ce fichier pour tout projet similaire, comme Elnur Abdurrakhimov l'a mentionné dans sa réponse , excluez-le globalement.

echo UserInterfaceState.xcuserstate >> ~/.gitignore

Mais, comme mentionné dans " Avons-nous besoin d'enregistrer * .xcuserstate? ", S'il s'agit d'un type de fichier qui devrait être ignoré par tout utilisateur de ce dépôt, je verrais en fait une version .gitignore en haut du dépôt, avec un contenu similaire à:

*.xcuserstate 

De cette façon, aucun utilisateur de ce dépôt ne se rendra même compte que ce fichier existe et est généré (quel que soit son nom): il n'apparaîtra pas dans un git statusjamais.

Ou vous pouvez ignorerxcuserdata/ entièrement (soit dans un fichier global .gitignore, soit dans un fichier versionné, comme le fichier GitHub génériqueObjective-C.gitignore .


Vous êtes la légende de GIT! toujours vos réponses sont les plus utiles.
Jad Chahine

@JadChahine Merci. Heureux d'aider (au moins, écrire ces réponses m'aide à apprendre git)
VonC

@tymac Pas tout à fait;) Je viens de visiter régulièrement ( meta.stackexchange.com/questions/122976/… )
VonC

9

Vous ne devez pas mettre de fichiers spécifiques à un outil dans le .gitignorefichier d' un projet, sauf si cet outil doit être utilisé par chaque développeur du projet.

À la place, créez votre .gitignorefichier global personnel dans votre répertoire personnel et activez-le:

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

Vous pouvez désormais placer tous les fichiers générés par vos outils de développement dans votre .gitignorefichier.


6

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.