Git Attitude

La gestion de sources qui fait du bien

2015 est terminée, vive 2016 !

| 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 2015, et quel 2016 imaginons-nous pour JS Attitude ?

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

Notre cours vidéo GitHub est sorti !

| Commentaires

Après des mois de préparation, de mise en place, d’enregistrement et de post-production, la première série de nos cours vidéo GitHub est enfin sortie !

En février 2015, O’Reilly et GitHub Training nous ont demandé si nous pouvions produire une série de cours vidéo exhaustive sur GitHub. L’occasion était trop belle et nous avons naturellement sauté dessus ! Il existe en fait deux séries :

  • Learning GitHub, qui comprend 69 vidéos regroupées en 13 chapitres, pour un total de 4h52. Elle couvre déjà énormément et fera découvrir beaucoup de choses aussi bien aux parfaits débutants qu’aux utilisateurs déjà chevronnés. Elle vient de sortir.
  • Mastering Advanced GitHub, qui devrait comprendre 43 vidéos regroupées en 5 chapitres, pour un total d’environ 4 heures. Elle explore les GitHub Pages, les fonctions cachées, l’intégration avec des services tiers, l’API et les subtilités de facturation et de la gestion des organisations. Actuellement en production, elle devrait paraître en février 2016.

Nous avons travaillé en étroite collaboration avec GitHub Training pour être sûrs que nous ne laisserions rien au hasard, rien de côté. Notez que GitHub a entre-temps changé son look par défaut, ce qui peut produire un léger décalage (onglets titrés en haut vs. onglets icôniques sur la droite), mais le contenu reste 100% valable.

Nous sommes extrêmement heureux de voir le produit fini enfin sorti, et même s’il a loupé le coche des Black Friday / Cyber Monday, il est là pour Noël !

Vous pouvez le découvrir dès à présent :

On espère que vous allez adorer !

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.

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…