Comment je suis passée de SVN à Git, avec SourceTree et Bitbucket. Du code, des outils et des gens.
Après avoir longtemps codé, et partagé mon code, notamment sur la « SPIP Zone », un Trac SVN, je ne codais plus trop depuis deux ans. Dans cet intervalle, j’ai eu l’occasion de contribuer deci delà à différents projets, sous Git et Mercurial, peu ou prou interfacés, via Tortoise, Redmine, MacHg… autant d’outils que j’ai fini par détester pour leur manque de clarté, si bien que je préférais la ligne de commande : pull, add, commit, push
… certes plus aride mais plus explicite que les clicodromes dont la reformulation des intitulés ne permet pas de toujours bien comprendre les commandes exécutées ni donc de maitriser ce que l’on fait. J’apprécie qu’une interface facilite mon travail, mais sans m’empêcher de comprendre précisément la réalité. Reste, avec la ligne de commande, ce sentiment très désagréable de commiter à l’aveugle, faute d’interface graphique lisible pour les diff, qui permette de comparer les différences, ligne à ligne, entre deux fichiers : juste indispensable !
L’appli SourceTree est extra : j’ai une vision très claire des différences avant de commiter, je comprends mes manipulations et même plus. J’aime ce genre d’appli qui facilite les tâches courantes, mais aussi qui explicite, m’accompagnant dans ma découverte des fonctionnalités, me faisant progresser. C’est ce qui m’a rendu le pouvoir, puis le plaisir, de me replonger dans le développement, tout en passant à Git.
L’avantage de Git et Mercurial est leur fonctionnement décentralisé. Concrètement, cela me permet de partager mon code entre différentes machines, de pouvoir continuer à travailler, en commitant progressivement, même hors connexion — intéressant, pour moi qui bouge beaucoup ! C’est pourquoi j’ai versionné mes projets, même quand j’en suis seule maître.
De plus, la ramification de Git, ses branches et merges, sont particulièrement propices au développement collaboratif en ce qu’ils permettent à chacun·e de cheminer indépendamment. Même si je suis convaincue de ce bienfait, j’ai des bouffées d’angoisse dès que je vois une branche et j’invente n’importe quoi pour n’avoir pas à en faire. Pour moi, ça reste pire que l’accrobranche : dès qu’un projet est branché, je n’ose plus y toucher, car je ne sais jamais sur laquelle je suis et je m’emmêle. Les jolis graphes arborés de ces interfaces modernes n’y font rien. J’essaye donc de soigner ça par la pratique…
Bitbucket est un hébergeur de projets, comme le fameux Github, mais où chaque dépôt peut être privé, chose formidable qui m’a permis de (re)gagner confiance dans mon code, en bidouillant tranquillement dans mon coin. Le dépôt privé permet d’expérimenter, en solo ou à plusieurs, pour se familiariser avec le fonctionnement et les commandes, par exemple en se bombardant de pull request
pour apprendre à s’en démêler, ou pour démarrer un projet, tâtonner librement sans l’exposer aux regards, jusqu’à le stabiliser avant de le rendre public. C’est ainsi que j’ai pu construire ma base CSS Tiny Typo, tranquillement, avant de la publier sur Github, où j’ai reçu mes premiers pull requests, yihouh ! J’utilise donc Bitbucket pour les projets personnels ou inaboutis et Github pour partager et développer en Open Source.
J’ai finalement mis tous mes projets sur Bitbucket, y compris des brouillons de trucs, qui ne ressemblent à rien, y compris des textes. Cela me permet de les avoir à disposition quelque soit le poste que j’utilise. Résultat : petit à petit, ces trucs se mettent à ressembler à quelque chose et je pense même en rendre certains public. J’aime ces outils qui accompagnent la créativité plus qu’ils ne la freinent. Bref, je recommande le duo SourceTree + Bitbucket pour leurs interfaces claires et leur bonne expérience utilisateur.
L’autre aspect de ma progression, non des moindres, est humain. Je ne me serais jamais mise à coder s’il n’y avait pas eu ces chouettes gens qui m’ont donné envie de partager avec elles et eux. Je progresse par à-coup : à chaque rencontre IRL. Les meilleurs tutos du monde n’y peuvent rien : je ne comprends que s’il y a un lien humain, que s’il y a parole, échange et témoignage des pratiques individuelles.
Vos commentaires
1. Le 2 avril 2014 à 10:03, par RastaPopoulos
En réponse à : Accrobranche : de SVN à Git
Bravo d’y être arrivé ! Un jour je trouverai le temps de comprendre Git aussi, mais… il faut du temps justement, pour pratiquer.
2. Le 2 avril 2014 à 11:23, par nicod_
En réponse à : Accrobranche : de SVN à Git
Super ce retour décomplexé, avec un peu de technique et beaucoup d’humain dedans.
J’en suis pas encore au stade de la publication publique sur github et j’aime bien ton idée de bataille de pull requests pour se faire la main.
J’ai adopté SourceTree aussi, je l’utilise beaucoup pour explorer visuellement l’historique d’un dépot. Très pratique et très rapide (réactif) à l’usage. Indispensable.
Pour ton vertige sur les branches, il y a moyen de personnaliser le prompt de la ligne de commande avec plein d’infos GIT. Je me suis bricolé un prompt qui m’indique le nom de la branche courante dès que je suis dans un répertoire versionné.
C’est plus visuel et sécurisant, avec ça j’ai moins le vertige de l’accrobranche.
Cédric avait écrit un article qui m’avait mis sur la voie mais j’avais dû passer un moment à bidouiller/adapter avec d’autres tutos : Git c’est facile.
3. Le 2 avril 2014 à 11:48, par Anthony
En réponse à : Accrobranche : de SVN à Git
Bonjour, je vois que tu fonctionnes un peu comme moi.
J’utilise aussi bitbucket pour les brouillons ou les trucs persos. Par contre je prefère GitHub for windows ( le programme) à sourcetree. J’ai vraiment du mal avec sourcetree.
4. Le 2 avril 2014 à 15:25, par antoine
En réponse à : Accrobranche : de SVN à Git
Bonjour,
Comme toi j’ai beaucoup de mal avec les outils graphiques qui masquent un peu trop ce que l’on fait.
Pour ma part j’ai découvert liquidprompt qui m’accompagne partout désormais.
5. Le 2 avril 2014 à 20:44, par twitter
En réponse à : Accrobranche : de SVN à Git
dit davidbgk.
6. Le 3 avril 2014 à 17:32, par Maïeul
En réponse à : Accrobranche : de SVN à Git
Pour ma part j’ai effectivement opté pour la ligne de commande, avec le prompt mentionné par nicod pour les branches.
Du coup gérer les branches devient pour moi un vrai plaisir en git, alors qu’en SVN je n’osais jamais le faire.
Exemple typique pour des modules LaTeX :
Si les devs de mes 2 fonctionnalité arrive à terme un peu prêt en même temps, je crée une branche « de release » correspondant à la fusion des 2 branches précédentes, et j’y applique les modifications indiquant les changement. Puis je fusionne cela dans la branche principale.
Avantage :
Après ce n’est pas forcément utile ds tous les types de projets ...
7. Le 8 avril 2014 à 18:58, par haclong
En réponse à : Accrobranche : de SVN à Git
Bonjour
contente que mes posts servent parfois :p
je ne connaissais pas bitbucket, je vais aller voir ça, merci
8. Le 12 avril 2014 à 21:08, par Julien
En réponse à : Accrobranche : de SVN à Git
Bonjour,
J’essaie Git depuis peu. La ligne de commande me semble importante aussi pour bien appréhender cet outil, et apprendre le jargon qui tourne autour. Côté interface visuelle, j’ai été séduit par Ungit.
Répondre à cet article
Suivre les commentaires :
| 