Merci d’ajouter les attributs .git à votre projet

Merci d’ajouter les attributs .git à votre projet

Qu'est-ce que .gitattributes ?

Le fichier .gitattributes vous permet de spécifier les attributs de fichiers et de chemins qui doivent être utilisés par git lors de l'exécution d'actions git, telles que git commit, etc.

En d'autres termes, git enregistre automatiquement le fichier selon les attributs spécifiés, à chaque fois qu'un fichier est créé ou enregistré.

L'un de ces attributs est le eol (end of line) et est utilisé pour configurer les fins de ligne d'un fichier. Cet article va maintenant approfondir la manière de configurer les fins de ligne, afin que chaque développeur utilise la même valeur lorsqu'il utilise différentes machines / OS dans le dépôt.

Pourquoi .gitattributes ?

Tous les développeurs ne sont pas les mêmes, juste parce que vous développez sur une machine Windows en utilisant le Visual Studio Code, ne vous attendez pas à ce que la prochaine pull request ait été implémentée en utilisant le même environnement de développement (machine MacOS utilisant Sublime Text 2). Comme mentionné ci-dessus, les développeurs utilisent des systèmes d'exploitation différents (Windows, Linux et MacOS), la valeur par défaut de la fin de ligne sera différente. Sur la machine Windows, la fin de ligne par défaut est un Carriage Return Line Feed (CRLF), alors que sur Linux/MacOS, c'est un Line Feed (LF).

À l'œil nu, le contenu sera le même, alors pourquoi s'en préoccuper ?

Eh bien, si vous avez activé une plus belle option et que la propriété endOfLine est réglée sur LF.

{
  "endOfLine": "lf"
}

Sur la machine Windows, le développeur rencontrera des problèmes de linting de Prettier, comme ceux ci-dessous.

code linting erreur

C'est là que .gitattributes vient à la rescousse et sauve la journée 🦸 !

Comment l'Utiliser ?

Dans Nouveau dépôt (Repo)

Voici un exemple de contenu du fichier .gitattributes :

*.js    eol=lf
*.jsx   eol=lf
*.json  eol=lf

Envoyez ce fichier au repo et transmettez vos modifications au serveur.

$ git add .
$ git commit -m "Added .gitattributes to repo"
$ git push

Désormais, lorsque quelqu'un obtient le code du repo, la fin de ligne correcte par défaut sera utilisée automatiquement via git, lors de la création et de la modification des fichiers.

Ajouter au dépôt Git existant (Repo)

Suivez les étapes mentionnées dans les étapes du nouveau dépôt (Repo) pour créer le fichier .gitattributes. Une fois que le fichier a été poussé vers le serveur git, assurez-vous que votre dépôt local est propre et n'a rien à commit. Utilisez le statut git pour déterminer si votre dépôt est propre.

$ git status

Note : Si vous avez encore des fichiers à pousser ou à commit, veuillez vous assurer que ces actions sont effectuées ou que les fichiers sont stashed avant d'effectuer les prochaines commandes.

Réinitialisation des attributs Git

$ git rm --cached -r
$ git reset --hard

Les commandes ci-dessus vont maintenant mettre à jour les fichiers pour la prise en compte en utilisant la fin de ligne nouvellement définie comme spécifié dans les .gitattributes.

Toute modification ou nouveau changement utilisera automatiquement les fins de ligne spécifiées pour ce type de fichier.

L'étape suivante consiste à informer tout coéquipier ou collaborateur, à exécuter les commandes GitAttributes Reset.

Maintenant, Prettier ne se plaindra plus de CR et tous les développeurs peuvent désormais vivre en paix ! ☮️

code correct prettier

Article avec la participation de :
👉🏽 deadlybyte