Quand utiliseriez-vous .git / info / exclude au lieu de .gitignore pour exclure des fichiers?

Je suis un peu confus quant aux avantages et inconvénients de l’utilisation de .git/info/exclude et de .gitignore pour exclure des fichiers.

Les deux sont au niveau du référentiel / projet, alors comment diffèrent-ils et quand devrions-nous utiliser .git/info/exclude ?

L’avantage de .gitignore est qu’il peut être .gitignore dans le référentiel lui-même, contrairement à .git/info/exclude . Un autre avantage est que vous pouvez avoir plusieurs fichiers .gitignore , un dans chaque répertoire / sous-répertoire pour les règles d’ .git/info/exclude spécifiques aux répertoires, contrairement à .git/info/exclude .

Donc, .gitignore est disponible sur tous les clones du référentiel. Par conséquent, dans les grandes équipes, toutes les personnes ignorent le même type de fichiers. Exemple *.db , *.log . Et vous pouvez avoir des règles d’ .gitignore plus spécifiques à cause de multiples .gitignore .

.git/info/exclude est disponible pour les clones individuels seulement, par conséquent, ce qu’une personne ignore dans son clone n’est pas disponible dans le clone d’une autre personne. Par exemple, si quelqu’un utilise Eclipse pour le développement, il peut être judicieux pour ce développeur d’append .build dossier .git/info/exclude à .git/info/exclude car d’autres développeurs n’utilisent peut-être pas Eclipse.

En général, les fichiers / ignorer les règles qui doivent être ignorés universellement doivent aller dans .gitignore , sinon les fichiers que vous souhaitez ignorer uniquement sur votre clone local doivent être .git/info/exclude dans .git/info/exclude

Googled: 3 façons d’exclure des fichiers

  • .gitignore est appliqué à chaque clone du repo (il est livré sous la forme d’un fichier versionné),
  • .git/info/exclude ne s’applique qu’à votre copie locale du référentiel.

Juste pour offrir notre expérience (réelle): nous avons commencé à utiliser .git / info / exclude lorsque nous devions personnaliser des fichiers de configuration sur chaque environnement de développement, tout en souhaitant que la source soit maintenue dans le repository et disponible pour les autres développeurs.

De cette façon, les fichiers locaux, une fois clonés et modifiés, peuvent être exclus des commits sans affecter les fichiers originaux du repository mais sans nécessairement être ignorés dans le repository.

Utilisez .gitignore pour ignorer les règles spécifiques au projet . Utilisez exclude fichiers à exclude ou globaux pour ignorer les règles spécifiques à votre environnement .

Par exemple, mes fichiers ignore globaux ignorent les fichiers temporaires générés par n’importe quel éditeur. Cette règle est spécifique à mon environnement et peut être différente pour d’autres développeurs sur le même projet (ils utilisent peut-être un éditeur différent). .gitignore fichiers .gitignore mon projet ignorent des choses telles que les clés API et les artefacts de construction. Celles-ci sont destinées au projet et devraient être les mêmes pour tout le monde sur le projet.

Est ce que ça aide?