⛺️ WordFest Live - Le festival de WordPress Rattraper le retard dès maintenant
Le festival de WordPress
4 mars 2022
Présenté par

Git into the Groove - Passer du travail en freelance au travail collaboratif

Aperçu de la session

Orateur :
À quoi s'attendre ?

Passer du statut d'indépendant à celui d'employé d'une agence peut être accablant, mais ne laissez pas la peur d'un travail collaboratif vous effrayer.

Qu'est-ce que Git ? Mieux encore, qu'est-ce que le contrôle de version ? Et qu'est-ce qu'un environnement local ?

Nous couvrirons les bases de
- Environnements locaux, multidevs et branches
- Le contrôle de version
- Vue d'ensemble d'un client git

Editer la transcription

AmyJune Hineline - Git into the Groove - Passer d'un travailleur indépendant à un flux de travail collaboratif

Yoast : [00:00:00] Vous savez, le plugin Yoast SEO, [00:01:00] ce sont des puces rouges, orange et vertes qui vous aident à optimiser vos articles pour le web. Il fonctionne sur des millions de sites web. Nous avons essayé de rendre le référencement compréhensible et accessible à tous.

Nexcess : Génial. Mon site web a planté. J'abandonne. N'abandonnez pas vos rêves. Jordan, qui es-tu ? C'est moi. Vous venez du futur. Votre site web professionnel n'est pas hors de portée. Vous avez juste besoin de Nexcess. Avec l'hébergement géré de Nexcess, vous bénéficiez de temps de chargement très rapides, d'une surveillance des performances et de mises à jour intégrées, ainsi que d'une assistance toujours formidable. 24 heures sur 24, 7 jours sur 7 et 365 jours par an pour tous vos projets. C'est un peu comme ça que ça se passe. Oui, c'est vrai.

Weglot : Découvrez Weglot, la solution de traduction simple pour votre site web. Il vous suffit d'ajouter Weglot à votre site web, de sélectionner les langues dont vous avez besoin, et c'est tout. Votre site est désormais disponible en plusieurs langues.

Bluehost : Qui a dit que la création d'une boutique en ligne [00:02:00] devait être difficile avec le site Web de Bluehost. C'est plus que facile. Il s'agit de nous dire ce que vous voulez et de faire appel à l'intelligence artificielle. Nous nous occupons de tout à partir de là. Facile, c'est compatible avec WooCommerce. Vous pouvez donc ajouter l'un de ces produits ou remplacer celui-ci par celui-là en toute simplicité. Vous pouvez créer une boutique en quelques minutes avec un nombre illimité de produits. Facile. Que vous vendiez des bottes, des livres ou des bols, c'est créer une boutique en ligne avec Bluehost, facile construire au-delà des frontières avec Bluehost.

Matt Graham : Bienvenue [00:03:00] à tous pour WordFest Live. Nous venons juste de commencer avec 24 heures de célébration des gens, de la technologie et du grand cœur orange de WordPress.

Rachel Winchester : WordFest Live n'est pas seulement un festival de contenu éducatif, de sessions de bien-être et d'opportunités de réseautage, c'est aussi une collecte de fonds pour Big Orange Heart. N'hésitez pas à visiter ce lien de don à tout moment pour soutenir la mission de notre organisme.

Matt Graham : WordFest Live est une opportunité de 24 heures pour la communauté WordPress de se rassembler, de se sentir moins isolée, d'apprendre les uns des autres et d'être présente les uns avec les autres.

Rachel Winchester : Notre première intervenante aujourd'hui est AmyJune Hineline avec Git Into The Groove, qui passe d'un travail en freelance à un travail collaboratif. AmyJune est une contributrice active à l'open source. En tant qu'ambassadrice de la communauté open source, elle est particulièrement bien placée pour aider les individus à se sentir plus à l'aise et plus confiants lorsqu'ils contribuent à leur communauté. En plus de son travail, qui consiste à établir des liens avec la communauté, [00:04:00] AmyJune est une passionnée de géocasher et de Volkswagen, et elle joue du huit avec les coudes sur la table.

AmyJune Hineline : Bonjour, merci pour cette belle présentation. J'aime bien commencer. C'est bien de faire en sorte que les choses soient claires. Il y a un petit contretemps, mais ce n'est pas grave. C'est ce qui arrive quand on travaille dans la technologie. Nous le savons. Je vais donc parler de flux de travail collaboratif et de Git aujourd'hui, le tout sur le thème des années 80, ce qui rend la chose un peu plus amusante.

AmyJune Hineline : Euh, avant de commencer, j'aimerais faire un peu de ménage. Il y a des images dans le jeu de diapositives et je suis une partisane de l'accessibilité. Je comprends donc que certaines personnes qui regardent ou participent aujourd'hui ne puissent pas voir les éléments visuels. S'il y a des images qui ajoutent un contexte ou qui doivent être expliquées, je les expliquerai au fur et à mesure, mais certaines sont décoratives et je ne les décrirai pas.

AmyJune Hineline : Euh, par souci de concision, j'inclus généralement un lien vers le jeu de diapositives, mais je l'ai accidentellement mis dans un disque rouge. Je vais donc le refaire après la présentation et mettre ces, euh, diapositives à disposition. Je les mettrai en ligne. I. Et la présentation d'aujourd'hui, euh, sur les terres d'Aloni en Californie du Nord.

AmyJune Hineline : Et j'aimerais reconnaître que je vis sur un territoire ancestral traditionnel non cédé. Il est important de comprendre l'histoire de longue date que nous avons tous. C'est ce qui nous a amenés à vivre avec. Les reconnaissances de terres n'existent pas au passé. Euh, ils sont actuels, euh, le colonialisme est un processus continu et nous devons développer notre conscience, euh, de nos participants actuels.

AmyJune Hineline : Je m'appelle AmyJune. Titre d'un seul mot, majuscule. Euh, mes pronoms sont elle et [00:06:00] elle. Je suis responsable senior de la communauté sur https://opensource.com et opensource.com est sous l'égide de red hat. opensource.com est un site web dédié au partage d'informations sur l'open source et la culture ouverte. Si vous voulez écrire pour opensource.com, vous savez, me contacter, hum, vous pouvez voir mes liens ici.

AmyJune Hineline : C'est VolkswagenChick à travers, vous savez, LinkedIn et Facebook et Instagram et Twitter. Je tiens à le souligner. Je crois vraiment qu'il faut réduire les barrières à l'entrée dans la technologie, pas seulement avec les contributions, mais la technologie en général, je dirige des journées de contribution, euh, au niveau local, régional et national. Euh, parce que tout le monde, euh, peut contribuer à nos projets, pas seulement avec du code.

AmyJune Hineline : Voici mon ami Spotty. Il vit avec moi. Hum, vous pourriez le voir. Je veux donc le présenter à l'avance. Son nom complet est Spotty MacSpotsALot, mais nous pouvons l'appeler Spot en abrégé. Il porte le nom du chat de Star Trek. Et de quoi allons-nous parler aujourd'hui ? Nous allons parler de la différence entre le monde des freelances et celui des agences.

AmyJune Hineline : Hum, et l'une des choses sur lesquelles je veux vraiment me concentrer sont les outils qui facilitent la collaboration avec d'autres personnes. C'est le contrôle de version, mais je parlerai aussi des clients git, des environnements locaux. Et j'ai ici une démo pour Slack, si le temps le permet, mais je parle beaucoup, donc ça n'arrive pas d'habitude.

AmyJune Hineline : Passer du statut de freelance à celui d'agence a certainement des avantages. Quelles sont les choses que nous aimons dans le travail en free-lance ? Nous aimons la liberté que le fait de travailler seul nous donne, vous savez, nous travaillons à notre propre rythme. À n'importe quel moment. Nous n'avons pas à nous soucier de déranger une équipe et de leur envoyer un ping ou un e-mail au milieu de la nuit quand nous nous réveillons, parce que nous avons une révélation à propos de notre code.

AmyJune Hineline : Mais avec cette liberté, [00:08:00] viennent aussi quelques difficultés, vous savez, euh, il n'y a personne autour de vous pour faire rebondir les idées. Il n'y a personne pour vous aider à réviser le code. Il n'y a personne pour vous aider à résoudre les conflits. Parfois, on fait ce qu'il faut pour accomplir le travail, et il peut être préjudiciable de ne pas avoir cette responsabilité.

AmyJune Hineline : Parfois, j'aime comparer cela au Far West. Parce que nous jonglons avec tous les rôles, vous savez, vous êtes la personne en charge d'absolument tout. Vous êtes le chef de projet, vous faites de l'assurance qualité et, vous savez, une expérience utilisateur, AQ et UX. Euh, vous êtes le concepteur, vous êtes le propriétaire du produit.

AmyJune Hineline : Vous êtes tout cela à la fois. Mais bon nombre des avantages liés au travail en free-lance ont commencé à être intégrés à la vie des agences avec l'arrivée de la pandémie. Vous savez, nous voyons des entreprises et des agences s'orienter vers des conditions plus conviviales pour les travailleurs à distance. Nous n'allons plus autant au bureau.

AmyJune Hineline : Le travail d'équipe offre une diversité de pensée et de créativité. La créativité, le fait d'avoir une équipe autour d'un environnement d'équipe, tout le monde fait du brainstorming ensemble, ce qui augmente vraiment la résolution de problèmes et nous rend plus efficaces et plus efficients pour arriver à des solutions.

AmyJune Hineline : Les équipes efficaces laissent également plus de place à l'innovation, euh, à son tour cela crée, vous savez, un avantage concurrentiel, vous savez, euh, il y a eu euh, Accomplissement des buts et des objectifs, euh, euh, des objectifs, vous savez, le partage d'opinions et d'expériences différentes nous renforce vraiment et nous rend responsables. Vous savez, nous pouvons prendre des décisions plus rapidement et l'effort d'équipe augmente, vous savez, euh, vous pouvez faire les, vous pouvez faire les étapes de conception, de planification, de mise en œuvre [00:10:00] de mise en œuvre, et beaucoup plus efficacement lorsqu'une équipe est là pour vous aider.

AmyJune Hineline : Le fait de travailler à plein temps dans le domaine du développement Web au sein d'une entreprise ou d'une agence bien établie peut nous permettre de bénéficier d'un apprentissage plus structuré et d'un apprentissage libre. Vous savez, nous avons un budGit de développement professionnel sur lequel nous pouvons compter. De plus, nous sommes quotidiennement en contact avec des experts, des mentors et les meilleures pratiques, ce qui n'est pas toujours le cas en tant que freelance ou autre.

AmyJune Hineline : Il y a une barrière à cause du coût. Lorsque vous êtes seul, vous assumez tous les rôles. Comme je l'ai dit, dans une équipe, chacun peut apporter sa contribution en fonction de son rôle et de ses compétences spécifiques. Et cela ajoute vraiment de la responsabilité sous la forme de contrôles et d'équilibres dans une équipe. Vous savez, nous avons ces chefs de projet, ils aident à assigner les tâches et ils agissent en tant qu'intermédiaires pour les développeurs et les parties prenantes, ils aident à traduire le jargon et [00:11:00] à trouver les tickets spécifiquement nécessaires qui sont soumis et qui sont assignés.

AmyJune Hineline : Les développeurs et les concepteurs travaillent sur les tâches. Et puis, vous savez, ils collaborent, ce qui permet de s'améliorer et d'avoir plus d'idées. Il y a des responsables techniques qui nous aident à fusionner le code et à régler les conflits dans notre code. Et après les changements, les conflits sont résolus. Nous avons des personnes qui effectuent les tests d'utilisation, l'assurance qualité et les tests de régression.

AmyJune Hineline : Vous savez, quand nous écrivons le code, nous ne devrions vraiment pas. Hum, être en train de réviser notre propre code. Hum, et puis après le pro, après ça, le chef de projet reprend la main et décide si les changements sont prêts pour les parties prenantes et c'est un rinçage et une répétition, et c'est tellement plus facile dans un code d'équipe, la gestion du flux de travail devient beaucoup plus facile quand nous avons des outils en place comme le contrôle de la version.

AmyJune Hineline : Le contrôle de version est un système qui enregistre les modifications apportées à un [00:12:00] ensemble de fichiers ou à un ensemble de fichiers au fil du temps afin que nous puissions revenir en arrière et nous souvenir de ces versions spécifiques plus tard. Il s'agit donc davantage de la gestion du flux de travail du code. Le contrôle des versions est une catégorie d'outils logiciels qui aide une équipe logicielle. Gérer les changements apportés au code source au fil du temps, euh, contrôle de version, logiciel qui suit chaque modification apportée au code et un type spécial de base de données.

AmyJune Hineline : Euh, si des erreurs sont commises, les développeurs et les chefs de projet peuvent remonter le temps et faire des comparaisons avec des versions antérieures du code afin de remédier à toute erreur ou maladresse sans que l'ensemble de l'équipe ne doive subir un temps d'arrêt important. Quelles sont les conditions requises pour mettre en œuvre le contrôle de version ? Parce qu'il y a des conditions préalables, il faut d'abord un ordinateur équipé pour cette tâche.

AmyJune Hineline : Vous voulez vous assurer que nous installons. Git localement. Ou globalement, vous savez, [00:13:00] même s'il est déjà installé, ce qui peut être, il pourrait, il pourrait être installé parce que vous avez peut-être des outils de développement déjà installés, mais c'est toujours une bonne idée de mettre à jour à la dernière version. Et cela peut être fait, vous savez, à travers un paquet ou un autre installateur, ou vous pouvez télécharger le code source et le compiler vous-même.

AmyJune Hineline : Si vous êtes assez confiant pour le faire. Et aussi des connaissances de base de la ligne de commande. Si vous êtes débutant, vous pouvez utiliser un client Git, mais vous devriez vraiment avoir des connaissances de base en ligne de commande, pas beaucoup, mais cela aide vraiment de savoir ce qui se passe dans les coulisses du client.

AmyJune Hineline : Lorsque vous en utilisez une. Et il existe des interfaces graphiques pour la ligne de commande. On les appelle parfois des gooeys, vous savez, des interfaces graphiques. Et je veux introduire ce concept parce que dans les prochaines diapositives, j'ai quelques images pour référence. Hum, et après avoir présenté les commandes, hum, ce à quoi elles ressemblent dans le client Git et le client [00:14:00] simplifie les commandes en boutons et en menus déroulants et en fenêtres, hum, interfaces pour les travailleurs.

AmyJune Hineline : Il s'agit d'une image d'un client. Nous voyons l'arbre des sources et un journal en haut. Vous pouvez voir qu'il y a des boutons sur les côtés. Il y a d'autres boutons. Certains d'entre eux ne sont pas disponibles. S'il n'y a rien à faire, par exemple, le bouton de fusion en haut au milieu, il est grisé parce qu'il n'y a rien à fusionner, mais les fonctions checkout, ad branch, cherry pick, revert sont toutes disponibles.

AmyJune Hineline : Et le long du côté gauche, il y a des cases à cocher pour ajouter des branches, euh, euh, des tags, vous savez, vous pouvez voir ceux de l'arbre source, euh, et puis à travers le, vous savez, le très, le très, euh, côté gauche, il y a, vous pouvez choisir quels fichiers sont ouverts dans le journal quand. Et il y a beaucoup de clientsgit disponibles. Certains sont gratuits, d'autres non, certains ont des versions gratuites avec un accès limité.

AmyJune Hineline : D'autres sont gratuites et offrent un accès complet. Certaines versions gratuites ne nous permettent de travailler que sur des dépôts publics. Cela peut donc parfois être contraignant si les bases de code de nos clients sont privées ou si l'accès est limité. Assurez-vous donc de faire vos devoirs, vous savez, essayez-en quelques-uns, assurez-vous qu'ils ont les fonctionnalités dont vous avez besoin.

AmyJune Hineline : Et puis il faut aussi savoir que parfois les agences ont des licences partagées et aimeraient que tout le monde utilise le même client, parce que cela facilite un peu le dépannage quand tout le monde utilise le même. De nombreux développeurs se tournent vers des environnements de développement intégrés. Il s'agit d'environnements de développement intégrés (IDE).

AmyJune Hineline : Et la plupart de ces, euh, clients IDE, euh, ils ont une courbe d'apprentissage. Parfois, l'IDE n'est pas accessible pour vous, mais il y a beaucoup de clients GIT. Certains sont gratuits, d'autres ont des versions d'essai et d'autres encore. Et certaines agences, encore une fois, veulent que tout le monde utilise le même outil, alors assurez-vous que votre machine peut supporter la charge d'exécution d'un [00:16:00] IDE.

AmyJune Hineline : Euh, parfois la combinaison de certaines applications ouvertes peut affecter le temps d'exécution et vraiment ralentir la machine. Je sais que jusqu'à ce que je commence à travailler avec une machine plus puissante, si j'avais Docker ouvert avec une feuille de calcul compliquée avec beaucoup de choses qui se passent dedans. Et puis si j'allume mon slack et puis, oh mon dieu, si j'avais zoomé, ma machine commençait vraiment à gémir et le ventilateur se mettait à tourner.

AmyJune Hineline : Hum, donc soyez conscient de, vous savez, comment, comment, combien de charge de travail il faut pour faire fonctionner certaines de ces choses ensemble. Pourquoi Git et pas Subversion ou un autre outil ? Beaucoup d'entre nous utilisent Git, parce que Git est devenu le standard de l'industrie pour le développement web. Il dispose d'un ensemble très riche de commandes pour suivre le clonage et les flux de travail.

AmyJune Hineline : Et bon nombre de ces principes de base peuvent être appliqués à d'autres flux de travail de gestion des versions. C'est ici que mes références aux années 80 commencent à entrer en jeu. Hum, pardonnez-moi à l'avance. [00:17:00] Nous n'avons jamais eu l'intention de vous faire un Git. Je ne vais jamais vous faire tomber. Nous allons donc commencer à parler des bases de Git, hum, j'en ai listé quelques-unes ici, mais nous allons les aborder dans un petit moment, mais, hum, nous avons Git dedans.

AmyJune Hineline : Euh, ça démarre un nouveau dépôt. Git status est ma commande préférée. Elle liste tous les fichiers qui ont été modifiés et qui attendent d'être livrés. C'est une bonne commande à lancer avant toute autre commande. Et c'est peut-être pour cela que c'est ma commande préférée. Parce que c'est celle que je fais le plus souvent. Hum, ça marche.

AmyJune Hineline : Cela vous rappelle ce sur quoi vous avez travaillé. Il y a le branchement qui liste toutes les branches locales dans votre dépôt actuel. Vous pouvez également indiquer visuellement sur quelle branche vous êtes actuellement. Et selon la façon dont vous avez votre terminal, vous savez, cela peut être surligné en vert ou avoir un astérisque.

AmyJune Hineline : Git diff montre les différences de fichiers, qui ne sont pas encore mis en scène. Git logged. Cette commande est utilisée pour lister, euh, [00:18:00] l'historique des versions de la branche courante. Vous êtes sur Git push depuis les branches engagées de notre branche principale vers nos dépôts distants. Encore une fois, je vais parler de ces commandes en profondeur dans un petit moment.

AmyJune Hineline : Hum, donc ne vous sentez pas dépassé. Git pull récupère et fusionne, vous savez, les modifications de votre serveur distant sur votre répertoire de travail. Git add. C'est là que nous ajoutons les fichiers sur lesquels nous avons travaillé. Um, nous les plaçons dans une zone de transit, Git commit, qui valide ces changements, um, Git merged. C'est là que nous travaillons avec d'autres et que nous fusionnons nos flux de travail.

AmyJune Hineline : Entrons dans le vif du sujet et parlons un peu du travail local. Cela signifie sur votre machine et non dans le navigateur ou dans un nuage. Les bases du travail local, l'une des principales commandes dont nous voulons parler est Git clone. Elle crée une copie de travail. D'un dépôt localement sur votre machine.

AmyJune Hineline : Et à partir de là, vous commencez à faire vos modifications, hum, Git remote. [00:19:00] Si vous ne vous êtes pas encore connecté à votre dépôt local, à un serveur distant, euh, vous ajoutez le serveur, de sorte que vous êtes en mesure de le pousser, vos changements vers le haut. Et ceci est utilisé quand vous avez créé initialisé une base de code localement d'abord, quand nous avons parlé de ça, Git me l'a dit.

AmyJune Hineline : Git pull. Et je vais en parler presque tout au long de chaque flux de travail. C'est quand votre code est ailleurs et qu'il peut être différent de votre travail actuel, vous savez, récupérer et fusionner les changements sur le serveur distant dans votre répertoire de travail. Encore une fois, je vais beaucoup parler de cette commande. Elle vous aide vraiment à vous tenir au courant de ce sur quoi d'autres personnes travaillent, comme le statut Git.

AmyJune Hineline : Je fais presque un sondage Git avec tout. En voici un aperçu. Le client Git, vous savez, pendant que nous clonons, est une interface très intuitive. Je ne dirai pas facile parce que facile est un terme relatif, mais c'est assez simple. Vous entrez l'URL où se trouve la base de code et vous appuyez sur un bouton. Et la plupart de nos dépôts en ligne que nous partageons, ont cette [00:20:00] information facilement disponible dans leur tableau de bord ou dans leurs fichiers read me sur la façon de le configurer localement.

AmyJune Hineline : Parlons donc du branchement. Nous ne voulons pas apporter de modifications à la base de code partagée. Nous voulons donc créer des branches qui reflètent le code et, et nous voulons travailler sur ces autres branches. Ainsi, nous ne corrompons pas le travail des autres.

AmyJune Hineline : Voici donc quelques commandes autour des branches. Nous avons Git branch lorsque nous entrons cela dans notre terminal ou dans son client Git, cela liste toutes les branches de votre dépôt, et cela vous dit aussi quelle branche vous êtes actuellement sur Git checkout. Et vous pouvez modifier cela avec Git checkout dans votre nom de branche.

AmyJune Hineline : Cette commande est utilisée pour passer d'une branche à une autre. Git checkout dash B. Elle crée une nouvelle branche à ce moment précis et vous basculez dessus. Vous devez donc dire Git checkout dash B, puis le nom de votre nouvelle branche. Et vous serez [00:21:00] déposé sur cette nouvelle branche. Git branch dash D supprime votre branche actuelle.

AmyJune Hineline : Et pour en revenir au client, vous savez, appuyez sur un bouton et vous pouvez nommer et créer une branche en quelques secondes, vous nommez la marque. La façon dont vous nommez la succursale dépend vraiment de vous. Mais lorsque nous travaillons ensemble, nous voulons nous assurer que nous sommes cohérents avec ce que font les autres. Parfois, les agences et les organisations peuvent avoir des paramètres sur les conventions de dénomination, comme la tâche ou le numéro de ticket et le nom.

AmyJune Hineline : Euh, parfois quand vous travaillez sur, euh, vous savez, contribuer à WordPress, vous mettez le ticket, euh, comme nom de branche, vous savez, quel, quel ticket vous travaillez dans, dans la file d'attente. Ok. Donc nous allons le pousser maintenant, le pousser vraiment bien. C'est ça. Hum, pousser se réfère au travail avec les autres à distance, vous savez, à un moment donné vous voulez partager vos modifications ou vos ajouts que vous avez faits.

AmyJune Hineline : Avec l'équipe et pour ce faire, vous devez le pousser en amont. Euh, vous voulez vous assurer que [00:22:00] vos branches sont prêtes. Donc d'abord vous faites Git add, c'est à dire que vous ajoutez un ou plusieurs fichiers à staging pour qu'ils restent. Si vous voulez tous les ajouter, vous faites Git add avec une étoile ou Git je suis désolé, Git ad avec un point. Et cela ajoute tous les fichiers, mais vous pouvez aussi ajouter des fichiers un par un en disant Git, add, et ensuite le nom du fichier.

AmyJune Hineline : Disons que vous travaillez sur quatre ou cinq fichiers, mais que vous n'êtes pas prêt à les ajouter tous. Vous pouvez les ajouter un par un. Euh, Git commit, euh, livrer les changements à votre branche locale. Euh, nous avons Git comat, euh, Git commit dash M et ensuite vous mettez un message ici, vous savez, que votre message de livraison. Hum, encore une fois, vous savez, hum, utilisez votre message à bon escient.

AmyJune Hineline : Parfois les agences voudront que vous commenciez par votre numéro de ticket ou le, ou le nom de la branche de fonctionnalité, vous savez, donc, travaillez vraiment avec votre équipe sur les messages de commit aussi, et ensuite Git [00:23:00] pull, vous savez, fetch et Birch les changements sur ce serveur distant vers votre répertoire de travail. Encore une fois, comme je l'ai dit, j'y ai fait référence souvent parce que c'est vraiment important de s'assurer que votre.

AmyJune Hineline : Courant avec les autres. Parfois, la communication est loin d'être parfaite. Et quelques personnes travaillent sur les mêmes lignes de code en même temps. Vous savez, peut-être que quelqu'un a poussé la sienne depuis la dernière fois que vous avez vérifié, cela aide vraiment à résoudre les conflits. Je parlerai des conflits dans les prochaines diapositives, puis de Git pushed.

AmyJune Hineline : Vous savez, vous renvoyez vos modifications à la branche principale du dépôt distant. Voici une autre capture d'écran, vous savez, et celle-ci met en évidence, euh, le bouton dans l'interface utilisateur pour pousser et tirer. Euh, les menus déroulants à côté permettent de faire plus de choix et donnent des informations utiles. Je vous recommande vraiment de vous familiariser avec les info-bulles et les fenêtres d'information lorsque vous apprenez le processus pour la première fois et que vous vous familiarisez avec le flux de travail.

AmyJune Hineline : Souvent, ces conseils montrent les commandes pertinentes du terminal Git. Vous vous souvenez que j'ai parlé de connaissances de base [00:24:00] que vous pouvez acquérir. Vous pouvez acquérir des connaissances plus avancées en survolant et en descendant l'écran pour trouver ces commandes de terminal Git pertinentes.

AmyJune Hineline : Nous allons donc parler de la fusion. Avant d'appliquer des changements extérieurs, vous devriez Git votre propre travail en bonne forme et engagé localement. Ainsi, il ne sera pas noyé s'il y a des conflits. Rassemblons donc tous nos flux de travail. Vous savez, c'est plus que simplement pousser votre code vers une branche propre.

AmyJune Hineline : Hum, peut-être que votre équipe travaille sur le même code en même temps. Vous savez, tout doit être rassemblé et fusionné. Hum, donc cette commande Git remote, vous savez, la commande est utilisée pour connecter votre dépôt local. Git pull. Rappelez-vous que j'en parle beaucoup. Nous récupérons et fusionnons les changements sur le serveur distant [00:25:00], vous savez, dans notre répertoire de travail et ensuite Git merge.

AmyJune Hineline : Cette commande fusionne l'historique de la branche spécifiée dans la branche actuelle et un client. Vous pouvez consulter les journaux et comparer les deux instances dans le temps du même fichier. Vous savez, le code couleur est vert pour les ajouts. Le rouge correspond aux suppressions. Vous pouvez comparer différentes branches dans différentes instances dans le temps avec votre client.

AmyJune Hineline : Hum, voici la fusion, vous savez, il y a un bouton pour la fusion. Il fait de la magie dans les coulisses et rassemble le code. Hum, bien qu'il puisse faire de la magie, il ne veut pas faire de suppositions s'il y a beaucoup de conflits. Vous devez donc résoudre ces conflits vous-même. Que faire donc en cas de conflits et d'agitation ?

AmyJune Hineline : J'adore cet espace Twitter. Je suis [00:26:00] développeuse, et c'est tellement vrai. Nous sommes passés par là. Nous pensons juste que cela va prendre une minute pour nettoyer. Vous savez, nous l'avons tous déjà dit. Ils sont célèbres. Les derniers mots. Ce sera une solution rapide. Mais les conflits arrivent, vous savez, même avec les développeurs les plus expérimentés, la façon la plus directe de résoudre un conflit de fusion est d'éditer le fichier en conflit.

AmyJune Hineline : Um, Git status. C'est mon préféré. Vous savez, vous listez les fichiers que vous avez modifiés et ceux qui doivent encore être ajoutés ou validés. Nous utilisons la commande Git diff. Dif nous aide à trouver les différences entre les états du dépôt ou des fichiers. C'est utile pour prédire et prévenir les conflits de fusion.

AmyJune Hineline : Nous avons Git logged dash dash merge où nous pouvons voir tous les conflits de fusion et ensuite Git push où nous envoyons nos changements à la branche principale de notre lo de notre dépôt distant. Voici donc une [00:27:00] capture d'écran du client Git. Encore une fois, vous pouvez voir qu'il y a trois versions du même code comparées l'une à l'autre.

AmyJune Hineline : C'est le moment d'examiner et de vérifier. Il y a vraiment deux choses que vous pouvez faire avec ces informations. Vous pouvez décider de ne pas fusionner ou vous pouvez résoudre les conflits. Lorsque la décision est prise de ne pas fusionner le code, disons que votre code ne fonctionne pas bien ensemble. Trop de personnes ont fait trop de changements en même temps.

AmyJune Hineline : Donc, nous allons utiliser une commande, Git fetch origin. Nous allons utiliser une commande, Git fetch origin, qui récupère le dernier historique du serveur et pointe sur votre branche principale locale. Git reset. Et puis, hum, le commit, cette commande annule tous les commits après le commit spécifié et préserve les changements localement, Git reset dash hard avec, hum, le numéro de commit, cette commande jette tout l'historique et revient au commit spécifié.[00:28:00]

AmyJune Hineline : Il y a des boutons pour vous aider avec l'option nucléaire, vous savez, appuyer sur un bouton, mais ce qui est bien, c'est que Git, les clients sont vraiment polis. Ils s'assurent que nous voulons vraiment faire exploser ou dissoudre notre travail. Donc vous pouvez voir dans cette capture d'écran, vous savez, êtes-vous sûr de vouloir faire. Hum, et il vous donne cet avertissement.

AmyJune Hineline : C'est donc très facile à voir. Donc, même si vous êtes très à l'aise avec la ligne de commande, il est parfois agréable de revenir à ce client Git sur certaines de ces plates-formes de contrôle de version basées sur le web, avec les conflits de fusion et autres. Ce sont des choses comme. Euh, GitHub bit bucket, Git lab.

AmyJune Hineline : Ce sont des plateformes qui nous fournissent une interface visuelle radicale, qui peut également nous aider à suivre et à gérer nos projets de contrôle de version localement. Hum, vous savez, le flux de travail est à peu près le même, vous savez, vous créez une branche, vous travaillez dans un espace éloigné du site de production. Vous ajoutez des commits, révisez le code et l'ajoutez à la [00:29:00] branche.

AmyJune Hineline : Vous créez des demandes d'extraction. Cela lance le processus d'examen du code et une interface que tout le monde peut voir, euh, et ensuite des examens du code où nous discutons et collaborons sur tout, vous savez, parce que peut-être que j'ai fait un changement. Hum, mais qui a fait un changement différent et nous devons parler de ces choses. Et puis la fusion est l'endroit où nous déplaçons notre code dans la branche principale.

AmyJune Hineline : Euh, voici une capture d'écran d'un dépôt GitHub, vous savez, euh, c'est le mien parce que j'aime être polie. Euh, vous pouvez voir que les fichiers sont listés. Vous pouvez voir, euh, certaines des choses que j'ai changées au fil du temps, vous savez, il y a des boutons en haut. C'est l'interface de mon dépôt de code en ligne. Et ceci est une demande d'extraction.

AmyJune Hineline : Quelqu'un a regardé mon rapport et a dit, oh, quelque chose ne va pas. Il a donc fait une demande de modification, ce qui est un peu comme une demande de fusion. Hum, et en cliquant sur un bouton, je peux le faire, euh, en ligne. Un serveur local joue un [00:30:00] rôle vital pour les développeurs. Le but d'un environnement de développement est d'avoir un endroit qui permet de développer et de tester sur une machine locale sans se soucier de perdre la connexion Internet ou de créer accidentellement des failles de sécurité temporaires ou de télécharger constamment des fichiers, un environnement local est vraiment un endroit où les développeurs ou les concepteurs peuvent tester tout ce qu'ils veulent.

AmyJune Hineline : Sans s'inquiéter que cela affecte les utilisateurs finaux ou les éditeurs de contenu qui travaillent sur le site Web en direct et, tout comme Git, il y a des conditions préalables à remplir pour, vous savez, euh, configurer votre environnement d'hébergement local au minimum. Euh, vous avez besoin d'un serveur PHP. Ceci est pour le serveur PHP de WordPress, un serveur de base de données, euh, et PHP pour WordPress.

AmyJune Hineline : Il faut aussi un ordinateur équipé pour cette tâche, vous savez ? Certains d'entre nous sont encore sur des machines plus anciennes, pas sur les M. Vous savez, si vous utilisez un Mac, [00:31:00] vous devez vous assurer que, vous savez, certaines des exigences minimales peuvent être quelque chose comme, vous savez, un processeur 86 compact press à deux cœurs avec peut-être quatre gigaoctets de mémoire ou gigaoctets de Ram, et puis, vous savez, 25 gigaoctets d'espace disque disponible.

AmyJune Hineline : Mais tous ces hôtes locaux, lorsque vous les configurez, vous diront ce qu'ils préfèrent. Hum, certains des agents les plus complexes pourraient être. Pour travailler de manière optimale. Hum, vous pourriez avoir besoin d'un processeur à huit cœurs. Faites donc vos recherches lorsque vous choisissez le service que vous voulez utiliser, et un serveur local joue un rôle essentiel pour la plupart des offres.

AmyJune Hineline : C'est vraiment possible. Et j'aime bien le répéter, cela permet de développer et de tester sur une machine locale sans avoir à se soucier d'une connexion Internet. J'ai énuméré quelques options pour mettre en place des serveurs locaux. Euh, vous pouvez avoir, vous savez, Linux, vous pouvez utiliser Mac iOS, le développement Windows. Vous pouvez utiliser une machine virtuelle pour le développement de [00:32:00] machines virtuelles.

AmyJune Hineline : Vous entendrez parfois parler de VM. Il s'agit d'un serveur autonome complet fonctionnant dans son propre environnement et système d'exploitation. Sur votre machine, en quelque sorte séparée de votre machine, et puis les environnements de développement Docker. Docker est un excellent outil, euh, pour les environnements de développement locaux également en raison de sa petite taille, de sa petite empreinte et de ses temps de démarrage rapides.

AmyJune Hineline : Il s'agit donc d'un développement conteneurisé. Pourquoi avoir un serveur local ? Vous savez, il y a quelques raisons qui vous obligent à développer vos applications web localement. Hum, vous pouvez avoir un accès limité au serveur client. Vous savez, vous construisez un site web ou une application pour quelqu'un d'autre, et vous n'avez pas accès à son serveur web.

AmyJune Hineline : Vous n'avez pas accès à leur dépôt privé. Euh, si vous construisez une nouvelle version d'un site web ou d'une application existante, vous savez, ce qui veut dire que vous ne voulez pas toucher à la production, euh, pendant que vous bricolez et expérimentez et que vous risquez de faire des erreurs avec le nouveau code. Cela permet donc d'expérimenter davantage sans risquer de faire exploser la bibliothèque.

AmyJune Hineline : Il n'est pas nécessaire de disposer d'une connexion internet locale. Vous n'avez pas besoin d'un service d'hébergement Web, ni même d'une connexion Internet. Vous savez, tout fonctionne confortablement sur votre ordinateur. Vous pouvez vous concentrer sur le codage et laisser le déploiement du site jusqu'à ce que vous soyez prêt. Vous pouvez travailler pendant que vous attendez vos enfants à la gymnastique.

AmyJune Hineline : Pendant que vous attendez dans la file d'attente pour l'abonnement à la salle de sport, vous savez, des choses comme ça. Et vous pouvez vraiment personnaliser votre configuration, vous savez, tester votre développement avant de le mettre en ligne. Cela élimine vraiment le risque lié à la création de nouvelles fonctionnalités et rend le développement moins stressant. Et puis il y a l'idée d'avoir plus de contrôle.

AmyJune Hineline : Et vous pouvez dire que je suis très enthousiaste à ce sujet. Il est parfois utile d'avoir plus de contrôle sur son environnement et d'avoir des outils spéciaux en place que l'on ne veut pas avoir sur son site de production.

AmyJune Hineline : Parce que ça pourrait l'enliser, mais la bonne nouvelle c'est que, vous savez, ces exigences. Nous avons mentionné quelques diapositives plus haut, le serveur web, le serveur de base de données et la partie PHP. Il y a beaucoup d'hébergeurs locaux qui peuvent faire tout ce travail pour nous. Et nous n'avons pas besoin de l'installer nous-mêmes. En général, certains de ces hôtes sont livrés avec un serveur web, un système de gestion des données à exécuter sur le serveur web.

AmyJune Hineline : Ils ont des langages de programmation côté serveur. Hum, ils ont souvent des interfaces pour contrôler le serveur web, vous savez, démarrer, arrêter, mettre en pause, et puis une interface pour accéder et manipuler la base de données, que nous n'avons pas toujours en ligne. Une interface pour accéder à la base de données et la manipuler, ce qui n'est pas toujours le cas en ligne. Et ça, c'est nouveau. Je travaille beaucoup dans l'espace Drupal et nous [00:35:00] travaillons avec, euh, Git pod et j'ai démarré un site WordPress, euh, hier en utilisant Git pod.

AmyJune Hineline : Il s'agit d'un nouvel environnement basé sur un navigateur qui permet la collaboration. C'est un pod Git. Il est très simple de créer un environnement de développement automatisé dans le nuage. Et cela ne prend pas beaucoup de temps. Il est intégré à vs code, ou vous pouvez utiliser un IDE JetBrains dans son environnement, et il est très personnalisable.

AmyJune Hineline : Et ce qui est super sympa à ce sujet. Git pod, c'est que vous pouvez partager l'URL avec quelqu'un et le voir travailler sur le code en ligne en même temps. C'est la fin de la présentation. Je tiens donc à remercier tout le monde à nouveau. Um, et Volkswagen Chick dans tous les médias et cela s'écrit V O L K S W A G E N C H I C K.

AmyJune Hineline : C'est très long, mais vous pouvez le faire. Et quand je partagerai ce diaporama, j'aurai de très bonnes informations sur les ressources de Git, et je mettrai plus de ressources parce que je veux mettre ce lien de Git. Parce que c'est un environnement local très excitant.

AmyJune Hineline : Et sur ce, je vais arrêter de partager. Et je ne sais pas si nous allons poser des questions.

Matt Graham : J'ai quelques questions à vous poser. Tout d'abord, je pense qu'il faut que tu t'occupes du karaoké, si jamais c'est prévu pour le WordFest, parce qu'alors tu pourrais être une combinaison de Weird Al en version technique, avec tes références aux années 80. Parce que j'ai commencé à groover sur ces chansons.

AmyJune Hineline : En fait, je fais une autre présentation dans la communauté de l'accessibilité où je parle de textes alternatifs et j'utilise l'imagerie des années 80 pour cela aussi. C'est très amusant.

Matt Graham : Donc, euh, une des [00:37:00] questions que, euh, je veux dire, juste d'après le titre de, de votre, de votre conférence, je fais beaucoup de, eh bien, je suis un freelance, mais je travaille aussi avec des agences en tant que freelance. Alors est-ce que vous avez des trucs ou des astuces pour ceux d'entre nous qui sont un peu à cheval entre les deux ?

AmyJune Hineline : Eh bien, non. Parce que vous devriez savoir, comme, vous savez, vous pouvez avoir votre propre flux de travail, mais encore une fois, comme travailler avec des agences est différent, vous savez, et chaque agence est un peu différente. Donc apprendre leur workflow, vous savez, euh, je pense que ça pourrait être plus compliqué en tant que freelance travaillant avec différentes organisations, parce que certaines personnes peuvent nommer leurs branches différemment ou utiliser des hôtes locaux différents ou utiliser des systèmes de contrôle de version différents, vous savez ?

AmyJune Hineline : Donc. Je pense que cela complique le travail d'un freelance lorsque vous travaillez avec des agences, parce que vous devez apprendre le flux de travail de tout le monde. Je n'ai donc pas de conseils à vous donner, si ce n'est d'être d'accord.

Matt Graham : C'est juste. C'est juste. Je, [00:38:00] vous savez, je me suis dit que j'allais tenter ma chance. Euh, oui. Parce que c'est vrai. Comme vous, vous êtes, vous êtes vous êtes en plein dans le mille.

Matt Graham : C'est le Far West. Et je veux dire, selon. Euh, en tant que freelance, selon le temps qui vous est imparti, vous pouvez faire les choses dans les règles, comme le ferait une agence, ou vous pouvez vous dire, oh, je dois coder ça aussi vite que possible. Donc oui, je veux dire, c'est, c'est, euh.

AmyJune Hineline : Je pense que c'est en partie le cas. C'est difficile, surtout si vous avez été freelance pendant longtemps, car vous n'avez pas de comptes à rendre à l'équipe.

AmyJune Hineline : C'est vrai. Donc vous prenez ces raccourcis ou vous nommez la branche, c'est une branche, ou c'est un correctif. Et je, vous savez, au lieu de faire vos messages de validation. C'est vrai. Donc, euh, il y a vraiment plus de responsabilité, vous savez, quand vous travaillez avec une équipe, je pense.

Matt Graham : Oui, absolument. Et c'est drôle aussi, parce que j'ai aussi été le seul [00:39:00] développeur dans une agence. Et c'est presque autant le Far West que d'être freelance. C'est donc une sorte de, encore une fois, chevauchement de la ligne, mais, vous savez, et vous Git toujours le même genre de chose. Est-ce que je vais faire ça bien ? Ou si c'est le cas, vous savez, six jours avant que je puisse physiquement le faire. Donc, euh, je pense, euh, ouais, euh, ouais, il ne semble pas que nous ayons des réunions, des questions.

Matt Graham : Hum,

Rachel Winchester : Eh bien, je crois que j'ai une question complémentaire à celle que vous venez de poser à Matt, je suis AmyJune. Avez-vous de l'expérience, je suppose, euh, en matière de consultation et, et d'aide à la transition entre, euh, le développement en freelance et le travail pour une agence plus importante ?

AmyJune Hineline : Non, mais j'ai de l'expérience en matière de contribution à l'open source, qui est en quelque sorte le même flux de travail. Vous savez, nous travaillons avec d'autres, vous savez, la plupart du temps, quand nous pensons à contribuer au travail, euh, WordPress, nous [00:40:00] avons la file d'attente, qui reflète en quelque sorte le flux de travail de l'agence. Nous travaillons tous ensemble. Nous soumettons des tickets, nous collaborons. Nous faisons des demandes de fusion. Nous apportons des correctifs. Donc j'ai ce genre d'expérience, mais, euh, je ne suis pas typiquement, euh, euh, C'est comme si chacun avait ses propres compétences et rôles.

AmyJune Hineline : C'est vrai. Et c'est le rôle du responsable technique ou du chef de projet technique, ce que je ne suis pas.

Matt Graham : Très bien. Je pense que nous allons conclure. Je voudrais remercier nos sponsors pour ce WordFest. Il s'agit de Bluehost, Cloudways, GoDaddy Pro, Nexcess, Yoast, et weglot, n'hésitez pas à visiter leurs tentes et à discuter avec eux. Vous pourriez même gagner un prix. N'oubliez pas de vous faire prendre en photo dans le photomaton et de [00:41:00] tweeter avec le hashtag WordFest Live.

Matt Graham : Merci également à nos partenaires médias et à notre micro sponsor. Dans la tente de la communauté, pour les 53 prochaines minutes, nous avons Cloudways, qui livre le lancement avec des mots, la prise de contrôle de la tente avec Bridget Willard. Il y a une pause d'une heure dans le programme de l'étape 2. Allez donc à la tente de la communauté, nous serons de retour dans l'heure à 01:00 UTC. Vous comblez tous nos grands cœurs orange. [00:42:00]

Partager cette session