Git Attitude

La gestion de sources qui fait du bien

2014 est terminée, vive 2015 !

| Commentaires

Ayé, on est en janvier. Et comme de coutûme, c’est l’occasion de faire un petit bilan de l’année passée, de ce qu’on espère / vise pour l’année qui s’ouvre.

Ne dérogeons pas à la tradition : que retenons-nous de 2014, et quel 2015 imaginons-nous pour JS Attitude ?

(note : cet article est posté sur l’ensemble des sites Attitude)

Comprendre et maîtriser les submodules Git

| Commentaires

Si vous avez déjà utilisé les submodules, vous en êtes certainement revenus avec quelques cicatrices, en jurant (mais un peu tard) qu’on ne vous y reprendrait plus… Les submodules ont en effet l’art de nous faire nous arracher les cheveux, avec leurs pièges omniprésents à la moindre manipulation. Pourtant, ils ne sont pas dénués de mérites, il faut juste savoir comment les prendre.

Dans cet article, nous allons les explorer en détail, en commençant par vérifier qu’ils sont la bonne solution à votre problème, puis en réalisant l’ensemble des manipulations courantes pas à pas, ensemble, pour en illustrer les bonnes pratiques.

Git Bisect : débusquer rapidement l’origine d’un bug

| Commentaires

Ouh, le vilain bug que vous venez de remarquer ! Hélas, impossible de repérer tout de suite son origine dans le code, et apparemment il ne date pas d’hier… Comment faire pour éviter de devoir repasser tout l’historique au peigne fin ?

Dans cet article, nous allons voir comment Git nous assiste pour isoler au plus vite l’origine d’un bug, même très loin en arrière dans l’historique.

Préserver certains fichiers au merge

| Commentaires

(English version of this article here)

Les branches, c’est formidable. Ça permet d’avoir des versions complètement différentes d’un même fichier selon le contexte.

Seulement voilà, dans certains cas rares, il arrive que vous souhaitiez versionner un fichier, qui change de branche à branche, mais le préserver quand vous fusionnez une branche vers la vôtre.

Le cas classique, ce sont les fichiers non-sensibles mais dépendants de l’environnement d’exécution (développement, staging, production), parce qu’ils indiquent des URLs, domaines ou numéros de port qui varient suivant le contexte :

  • configuration d’envoi e-mail qui utiliserait une gestion locale hors production (par exemple l’excellent mailcatcher)
  • configuration de logs qui serait en fichiers locaux en dev, mais consolidée vers un service central autrement
  • etc.

Ce genre de fichiers gagne à être versionné, naturellement. Mais lorsqu’on fusionne une branche vers la nôtre (par exemple, on récupère master pour faire un merge de contrôle), comment garder notre version à nous juste pour ceux-là, sans avoir à faire à chaque fois des manips spéciales ?

C’est tout simple, en fait. Voyons ça.

N’arbitrez vos conflits Git qu’une fois grâce à rerere

| Commentaires

(English version of this article here)

Il vous est sûrement déjà arriver d’arbitrer un conflit quelque part dans votre dépôt, pour retomber sur exactement le même plus loin (à l’occasion d’un autre merge, par exemple). Et hop, il a fallu refaire l’arbitrage.

C’est nul.

Pourtant, Git est tellement gentil qu’il offre un mécanisme pour vous éviter ça, au moins une partie du temps : rerere. D’accord, le nom n’est pas terrible, mais ça veut quand même dire Reuse Recorded Resolution, hein…

Dans cette article, on va explorer ensemble comment ça marche, quelles en sont les limites, et comment s’en servir au mieux.

Nos présentations récentes en conférences

| Commentaires

Ce mois-ci, j’ai eu le plaisir d’intervenir en conférence autour de Git. Si vous n’y étiez pas, voici les liens utiles :

Git ProTips

C’était jeudi 30 octobre 2014 à Blend Web Mix 2014, à Lyon.

Le pitch :

Git est devenu la gestion de sources de référence, mais la très grande majorité s’en sert (très) mal, ou à tout le moins ne fait qu’effleurer ses possibilités.

Dans cet atelier, Christophe mettra en lumière toute une série d’astuces dans les commandes Git visant à rendre votre utilisation quotidienne plus agréable et efficace.

Objectif : Gagner quotidiennement en productivité et en souplesse de travail.

Et aussi…

J’ai fait 3 chouettes présentations et ateliers autour de JavaScript et Node.js, à Paris Web et à Blend.

Par ailleurs, je donnerai une pres rigolote à Codeurs en Seine 2014 le 27 novembre prochain.

Retrouvez-nous en conférences !

| Commentaires

D’ici la fin de l’année, nous aurons le plaisir de vous retrouver dans tout un tas de conférences, souvent en tant qu’orateur :

  1. Paris Web 2014 : conférence JS + toi = ♥ jeudi 16 octobre à 10h30 dans l’auditorium Blin.
  2. Paris Web 2014 : atelier Node.js démystifié samedi 18 octobre à 14h30
  3. BLEND Web Mix 2014 à Lyon : conférence Front-end Dev Avengers mercredi 29 octobre à 16h en salle Gratte-Ciel 3
  4. BLEND Web Mix 2014 à Lyon : conférence Git ProTips jeudi 30 octobre à 14h30 dans le grand auditorium
  5. Full Frontal 2014 à Brighton, UK, vendredi 7 novembre comme simple auditeur
  6. dotJS 2014 à Paris, lundi 17 novembre comme simple auditeur
  7. Codeurs en Seine 2014 à Rouen : conférence Wow, much web. Very tech. jeudi 27 novembre

Sans déconner, il reste notamment des places à Paris Web, jetez-vous dessus ! C’est trop top, Paris Web, quoi !

30 options de commande Git qui gagnent à être connues

| Commentaires

Vous croyez connaître Git ? Peut-être bien… Et pourtant, je parierais ma chemise1 que pas mal de petites options sympathiques vous sont inconnues.

En effet, au fil des versions de Git, beaucoup de petites options font surface, soit pour des raisons de confort, soit pour de la puissance brute. Mais comme ce n’est pas une nouvelle commande, ou pas trop mis en avant dans les annonces de sortie, ça passe sous le radar.

Je vous ai sélectionné une trentaine d’options, répartie sur une quinzaine de commandes, qui rendent la vie plus belle quand on fait du Git. Voici une excellente manière de rentabiliser les prochaines minutes !

Ils nous font confiance : Kelkoo, MisterGoodDeal, PriceMinister, Blablacar / Comuto, Sarenza, Voyages-SNCF, LeMonde.fr, Fnac DIRECT, 20minutes, Orange, l’OCDE, Cisco, Alcatel-Lucent, Dassault Systèmes, EADS, Atos, Lagardère Interactive, Lesieur, L’Occitane en Provence, Météo France, 4D, Securitas, Digitas, Vivaki, Fullsix, Ekino, TBWA \ Paris, Valtech, Is Cool Entertainment, Open Wide…