Evitez les conflits inutiles sous GIT

Comme moi vous n'aimez pas perdre du temps, comme moi vous utilisez GIT et vous développez avec des outils comme SASS, Gulp ou Webpack qui vous facilitent grandement la vie.

Le problème quand on travaille à plusieurs sur GIT c'est de gérer les conflits lors d'un git pull. Le plus horripilant c'est quand ça se produit sur des fichiers que vous générez automatiquement à l'aide de Gulp par exemple.

- Les fichiers css compilés à partir de SASS
- Les fichiers js uglifiés (j'aime ce mot !)
- Les .map générés à partir des javascript ou css.

Ces fichiers là on s'en fout quand même pas mal puisque notre outil (Gulp en l'occurence) les régénérera pour nous automatiquement...

On ne peux cependant pas les ajouter au .gitignore car sinon on ne pourra plus déployer le projet avec une simple copie de fichiers.

Heureusement il existe un fichier de configuration git peu connu qui se nomme ".gitattributes". Comme le ".gitignore" vous devez le placer à la racine de votre repo git. Ensuite vous pouvez définir les règles à appliquer sur les extensions de fichier.

Comme ça :

Dans cet exemple, les fichiers css, min.js et map seront écrasés par la version du serveur à chaque fois, évitant des conflits inutiles.

C'est une des nombreuses utilisation possible de .gitattribute. Pour en savoir encore plus c'est ici : http://git-scm.com/docs/gitattributes

Pour un merge automatique un peu plus intelligent, je vous recommande chaudement de lire cet article de Git Attitude : http://www.git-attitude.fr/2014/11/04/git-rerere/

Commentaires

Posts les plus consultés de ce blog

Vidange - Laguna III Coupé 2.0 DCI 150

RFID RC522 on Raspberry PI with NodeJS