⛺️ WordFest Live - Le Festival de WordPress Rattrapez-vous maintenant
Le festival de WordPress
4 mars 2022
Présenté par
Choisissez une langue

Git into the Groove - Passer du freelance au flux de travail collaboratif

Aperçu de la session

Conférencier :
Ce à quoi il faut s'attendre :

Passer du statut de freelance à celui d'agence peut être accablant, mais ne laissez pas la crainte d'un flux de travail collaboratif vous effrayer.

Qu'est-ce que Git ? Meilleure question, qu'est-ce que le contrôle de version ? Et que diable est un environnement local ?

Nous couvrirons les bases suivantes
- Environnements locaux, multidevs, et branches
- Contrôle de version
- Aperçu d'un client git

Edit Transcript

AmyJune Hineline - Git into the Groove - Moving from Freelance to Collaborative Workflow (en anglais)

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

Nexcess : Oh, génial. Mon site web a planté. J'abandonne. N'abandonne pas tes 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 rapides comme l'éclair, d'une surveillance et de mises à jour intégrées des performances, et d'une assistance toujours géniale. 24 7 365 pour tous vos projets. Whoa. Ouais.

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 le tour est joué. Votre site Web est maintenant 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. C'est dites-nous ce que vous voulez et une IA intelligente. On s'en occupe à partir de là. Facile, c'est compatible avec WooCommerce. Vous pouvez donc ajouter un de ces produits, ou échanger ceci contre cela, en toute simplicité. C'est une boutique qui s'installe 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 limites avec Bluehost.

Matt Graham : Bienvenue [00:03:00] à tous au 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'offre pas seulement un festival de contenu éducatif, de sessions de bien-être et d'opportunités de réseautage, mais c'est aussi une collecte de fonds pour Big Orange Heart. Veuillez 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 réunir, 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 premier intervenant aujourd'hui est AmyJune Hineline avec Git Into The Groove, passer du freelance au travail collaboratif. AmyJune est un contributeur actif dans l'open source. En tant qu'ambassadrice de la communauté open source, elle est particulièrement bien placée pour aider les individus à être plus à l'aise et confiants lorsqu'ils contribuent à leurs communautés. En plus de son travail, qui consiste à établir des liens avec la communauté, [00:04:00] AmyJune est une géocacheuse passionnée, une enthousiaste de Volkswagen et une adepte du huit avec les coudes sur la table.

AmyJune Hineline : Salut, merci pour cette belle présentation. Hum, j'adore passer en premier. C'est bien de mettre les choses au clair. Il y a un petit contretemps, mais ce n'est pas grave. C'est ce qui arrive quand on, hum, travaille dans la technologie, d'accord. Nous le savons. Hum, donc je vais parler de, hum, du flux de travail collaboratif et de Git aujourd'hui, hum, 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'aime faire un peu de ménage. Il y a des images dans les diapositives et je suis un défenseur de l'accessibilité. Je comprends donc que certaines personnes qui regardent ou participent aujourd'hui puissent ne pas être en mesure de voir les actifs 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 : Hum, pour des raisons de brièveté, j'ai l'habitude d'inclure un lien vers le jeu de diapositives, mais je l'ai accidentellement mis dans un chapeau rouge, euh, lecteur. Donc je vais refaire ça après la présentation et rendre ces, euh, diapositives disponibles. Et je vais les mettre 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, hum, que je vis sur un territoire traditionnel ancestral non cédé. Euh, il est important de comprendre la longue histoire que nous avons tous. C'est ce qui nous a amené à vivre avec. Euh, et les reconnaissances de terres n'existent pas au passé. Euh, elles sont actuelles, euh, le colonialisme est un processus continu et nous devons construire notre conscience, euh, de nos participants actuels.

AmyJune Hineline : Euh, mon nom est AmyJune. C'est un titre d'un seul mot, en majuscules. Euh, mes pronoms sont elle et [00:06:00] elle. Je suis la gestionnaire principale de la communauté à https://opensource.com et opensource.com est sous l'égide de Red Hat. opensource.com est un site web dédié au partage d'information sur l'open source et la culture ouverte. Si jamais vous voulez écrire pour opensource.com, vous savez, me contacter, um, vous pouvez voir mes liens ici.

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

AmyJune Hineline : Voici mon ami Spotty. Il vit avec moi. Um, vous pourriez le voir. Donc je veux juste le présenter à l'avance. Son nom long est Spotty MacSpotsALot, mais nous pouvons les appeler Spot pour faire court. Il est [00:07:00] nommé d'après le chat de Star Trek. Et de quoi allons-nous parler aujourd'hui ? Nous allons parler de ce que c'est que le monde des freelances par rapport à la vie en agence.

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

AmyJune Hineline : Passer du freelance à l'agence a certainement ses avantages. Hum, quelles sont les choses que nous aimons dans le freelance ? Nous aimons la liberté que le travail en solo nous donne, vous savez, nous travaillons à notre propre rythme. A tout moment. Nous n'avons pas à nous soucier de déranger une équipe et de les appeler ou de leur envoyer un e-mail au milieu de la nuit quand nous nous levons, parce que nous avons une révélation sur 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 avec la révision du code. Il n'y a personne pour vous aider avec toutes sortes de conflits. Hum, parfois vous faites juste ce que vous devez faire pour que le travail soit fait, et ça peut être préjudiciable de ne pas avoir cette responsabilité.

AmyJune Hineline : Parfois, j'aime l'assimiler à l'ouest sauvage, sauvage. 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 l'assurance qualité et, vous savez, une expérience utilisateur, QA et UX. Euh vous êtes le designer, vous êtes le propriétaire du produit.

AmyJune Hineline : Vous êtes tout cela à la fois. Mais la plupart des avantages liés au travail en freelance ont commencé à être intégrés dans la vie des agences avec le début de la pandémie. Vous savez, euh, nous voyons les entreprises et les agences s'orienter vers des conditions plus, euh, conviviales à distance. Nous n'allons plus aussi souvent au [00:09:00] bureau.

AmyJune Hineline : Et nous sommes également plus inclusifs en ce qui concerne les fuseaux horaires de nos jours, et le travail d'équipe offre une diversité de pensée et une diversité de. Le travail d'équipe offre la diversité de pensée et la diversité de créativité. En ayant un environnement d'équipe, tout le monde réfléchit ensemble, ce qui augmente vraiment la résolution de problèmes et nous sommes plus efficaces pour trouver des solutions.

AmyJune Hineline : Les équipes efficaces laissent aussi plus de place à l'innovation, euh, en retour cela crée, vous savez, un avantage concurrentiel, vous savez, euh, il y a euh, l'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 responsabilise. Vous savez, nous pouvons prendre des décisions plus rapidement et l'effort d'équipe augmente, vous savez, euh, vous pouvez faire le, vous pouvez faire les étapes de conception, planification, mise en œuvre [00:10:00] mise en œuvre, et beaucoup plus efficacement quand une équipe est là pour aider.

AmyJune Hineline : Et aussi travailler dans un rôle traditionnel de développement web à temps plein dans une entreprise ou une agence établie peut nous donner l'opportunité d'un apprentissage plus structuré, vous savez, et d'un apprentissage libre. Vous savez, nous avons un budGit de développement professionnel sur lequel nous pouvons compter. Um, plus nous avons une exposition quotidienne à des experts et des mentors et les meilleures pratiques que vous n'avez pas toujours Git en tant que freelance ou peut-être.

AmyJune Hineline : Il y a une barrière à cause du coût. Quand vous êtes seul, vous assumez tous les rôles, comme je l'ai dit, dans une équipe, chacun a sa place pour contribuer en fonction des rôles et de ses compétences spécifiques. Et cela ajoute vraiment de la responsabilité sous 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 comme des intermédiaires pour les développeurs et les parties prenantes, ils aident à traduire le jargon et [00:11:00] à trouver quels tickets spécifiquement nécessaires sont soumis et ils sont assignés.

AmyJune Hineline : Hum, les développeurs et les designers 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 puis après les changements dans les conflits sont résolus. Nous avons des gens qui effectuent les tests utilisateurs pour nous et l'assurance qualité et les tests de régression.

AmyJune Hineline : Tu sais, quand on écrit le code, on ne devrait vraiment pas. Hum, être en train de réviser notre propre code. Um, 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 au sein d'un code d'équipe, la gestion du flux de travail devient beaucoup plus facile lorsque nous avons des outils en place comme le contrôle de version.

AmyJune Hineline : Le contrôle de version est un système qui enregistre les modifications d'un [00:12:00] ensemble de fichiers ou d'un ensemble de fichiers au fil du temps afin que nous puissions revenir en arrière et nous rappeler ces versions spécifiques plus tard. Il s'agit donc plus de la gestion du flux de code, les contrôles de version sont une catégorie d'outils logiciels qui aident une équipe de logiciels. Gérer les modifications du code source au fil du temps, euh, le contrôle de version, le logiciel suit, chaque modification du 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 pour aider à corriger les erreurs ou les maladresses sans que cela n'entraîne de temps d'arrêt pour toute l'équipe. Quelles sont les conditions préalables à la mise en œuvre du contrôle de version ? Parce qu'il y a quelques prérequis ; tout d'abord, vous avez besoin d'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 peut-être vous avez des outils de développement déjà installés, mais c'est toujours une bonne idée de mettre à jour vers cette 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 puis aussi une connaissance de base de la ligne de commande. Si vous êtes un débutant, vous pouvez utiliser un client Git, mais vous devriez vraiment avoir quelques connaissances de base de la ligne de commande, pas beaucoup, mais cela aide vraiment à savoir ce qui se passe dans les coulisses du client.

AmyJune Hineline : Quand tu en utilises une. Et il existe des interfaces graphiques pour la ligne de commande. Parfois, nous les entendons appeler gooeys, vous savez, GUI interfaces utilisateur 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, à quoi elles ressemblent dans le client Git et le client [00:14:00] simplifie les commandes en boutons, en menus déroulants et en fenêtres, hum, en interfaces pour les travailleurs.

AmyJune Hineline : C'est l'image d'un client. Vous savez, nous regardons 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 plus de boutons. Euh, certains d'entre eux ne sont pas disponibles. S'il n'y a rien à faire, par exemple, hum, le bouton de fusion en haut au milieu, hum, il est grisé parce qu'il n'y a rien à fusionner actuellement, 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 des sources, 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 clients Git disponibles. Certains sont gratuits, d'autres non, certains ont des versions gratuites avec un accès limité [00:15:00].

AmyJune Hineline : D'autres sont gratuits avec un accès complet. Certaines versions gratuites ne nous permettent de travailler que sur des dépôts qui sont publics. Cela peut donc parfois être limitatif si les bases de code de nos clients sont privées ou ont un accès limité. Donc assurez-vous de faire vos devoirs, vous savez, essayez-les, 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 souhaitent que tout le monde utilise le même client, car cela facilite un peu le dépannage lorsque tout le monde utilise le même. Beaucoup de développeurs se tournent vers les environnements de développement intégrés. Ce sont des IDE pour faire court, euh, des environnements de développement intégrés.

AmyJune Hineline : Et la plupart de ces, hum, clients IDE, hum, ils ont une courbe d'apprentissage. Hum, donc parfois l'IDE peut ne pas être accessible pour vous mais un peu comme les 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, donc assurez-vous que votre machine peut supporter la charge d'exécution d'un [00:16:00] IDE.

AmyJune Hineline : Euh, parfois la combinaison d'avoir 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 comme beaucoup de choses qui se passent dedans. Et ensuite, si j'allume mon slack et ensuite, oh mon dieu, si j'avais zoomé, ma machine commençait vraiment à gémir et le ventilateur tournait.

AmyJune Hineline : Hum, donc soyez attentif à, vous savez, comment, comment, combien de charge de travail il faut pour faire fonctionner certaines de ces choses ensemble. Alors 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 le suivi du clonage et des flux de travail.

AmyJune Hineline : Et beaucoup de ces principes de base peuvent être appliqués à d'autres flux de travail de gestion des versions. Alors c'est ici que mes références aux années 80 commencent à entrer en jeu. Um, pardonnez-moi à l'avance. [00:17:00] Nous n'allons jamais vous Git. Je ne vais jamais vous faire tomber. Donc nous allons commencer à parler des bases de Git, um, j'en ai quelques unes listées ici, mais nous allons entrer dans la plupart d'entre elles dans un petit moment, mais, um, nous avons Git dedans.

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

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

AmyJune Hineline : Git diff montre les différences entre les fichiers, qui ne sont pas encore mis en scène. Git log. Cette commande est utilisée pour lister, euh, [00:18:00] l'historique de la version de la branche actuelle. Vous êtes sur Git push depuis les branches commises de notre branche principale vers nos dépôts distants. Encore une fois, je vais en parler 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 nos fichiers sur lesquels nous avons travaillé. Um, nous les mettons dans une zone de transit, Git commit, commet ces changements, um, Git merged. C'est quand nous travaillons avec d'autres personnes et que nous fusionnons nos flux de travail ensemble.

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

AmyJune Hineline : Et à partir de là vous commencez à faire vos changements, um, Git remote. [00:19:00] Si vous n'êtes pas encore connecté à votre dépôt local, à un serveur distant, um, vous ajoutez le serveur, ainsi vous êtes capable de le pousser, vos changements vers le haut. Et ceci est utilisé lorsque vous avez créé initialisé une base de code localement d'abord, lorsque nous avons parlé de cela, Git en moi.

AmyJune Hineline : Git pull. Et je vais parler de ça presque dans 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 vers 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 de Git.

AmyJune Hineline : Je fais presque un sondage Git avec tout. Et voici une photo de ça. Le client Git, vous savez, pendant que nous clonons, c'est une interface très intuitive. Je ne vais pas dire facile parce que facile est un terme relatif, mais c'est assez simple. Hum, 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 les uns avec les autres, ont cette [00:20:00] information facilement disponible dans leur tableau de bord ou dans leurs fichiers "lisez-moi" sur la façon de le configurer localement.

AmyJune Hineline : Donc, parlons de l'embranchement. Um, nous ne voulons pas faire de changements dans la base de code partagée. Donc on veut créer des branches qui reflètent le code et, et on veut travailler sur ces autres branches. Donc nous ne corrompons pas le travail des autres.

AmyJune Hineline : Voici donc quelques commandes autour des branches. Nous avons Git branch quand 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 sur quelle branche vous êtes actuellement 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 en fait une nouvelle branche à ce moment précis pour vous et vous y avez basculé. Donc vous dites Git checkout dash B et ensuite le nom de votre nouvelle branche. Et puis vous serez [00:21:00] déposé directement sur cette nouvelle branche Git branch dash D supprime votre branche de fonctionnalité actuelle.

AmyJune Hineline : Et pour en revenir à ce client, vous savez, appuyez sur un bouton et vous pouvez nommer et créer une branche en quelques secondes, vous nommez la marque. Ce que vous, comment vous nommez la branche est vraiment à vous. Mais lorsque nous travaillons ensemble, nous voulons nous assurer que nous sommes cohérents avec ce que tout le monde fait. 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 : Hum, parfois quand vous travaillez sur, euh, vous savez, en contribuant à WordPress, vous mettez le ticket, hum, comme nom de branche, vous savez, quel, quel ticket vous travaillez dans la, dans la file d'attente des pistes. Ok. Donc nous allons le pousser maintenant, le pousser vraiment bien. Bien. Um, le push fait référence au travail avec les autres à distance, vous savez, à un moment donné vous voulez partager vos modifications ou vos ajouts que vous avez fait.

AmyJune Hineline : Avec l'équipe et pour faire cela, 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 là que vous ajoutez un ou plusieurs à staging un ou plusieurs fichiers à rester. Hum, 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 vos, 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 dossiers, mais que vous n'êtes pas prêt à les ajouter tous. Tu peux les ajouter un par un. Euh, Git commit, euh, livrer les changements à votre branche locale. Um, nous avons Git comat, uh, Git commit dash M et ensuite vous mettez un message là, vous savez, que votre message de commit. Hum, encore une fois, vous savez, hum, utilisez votre message à bon escient.

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

AmyJune Hineline : Courant avec les autres. Parfois, la communication n'est pas parfaite. Et quelques personnes travaillent sur les mêmes lignes de code au même moment. Vous savez, peut-être que quelqu'un a poussé le sien depuis la dernière fois que vous avez vérifié, cela aide vraiment avec les conflits. Um, et je parle des conflits dans les deux prochaines diapositives et ensuite Git pushed.

AmyJune Hineline : Vous savez, vous renvoyez vos changements à cette branche principale du, 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 listes déroulantes à côté d'eux permettent 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 et que vous vous familiarisez avec le flux de travail.

AmyJune Hineline : Souvent, ces conseils d'outils montrent les commandes pertinentes du terminal Git. Vous vous souvenez que j'ai dit que les connaissances de base [00:24:00], vous pouvez les acquérir. Des connaissances plus avancées en, vous savez, survolant et en descendant et en trouvant ces, euh, commandes pertinentes, Git, euh, du terminal.

AmyJune Hineline : Nous allons donc parler de la fusion. Avant d'appliquer des changements extérieurs, vous devez vous assurer que votre propre travail est en bon état et qu'il est engagé localement. Ainsi vous n'êtes pas, ainsi il ne sera pas clobbé s'il y a des conflits. Donc, nous allons rassembler tous nos flux de travail. Vous savez, c'est plus que de 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. Vous vous souvenez que j'en parle beaucoup. Nous récupérons et fusionnons les changements vers le serveur distant [00:25:00], vous savez, vers 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 regarder les journaux et comparer les deux instances dans le temps du même fichier. Vous savez, c'est un code couleur vert pour les ajouts. Le rouge pour les 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. Et donc vous devez en quelque sorte travailler sur ces conflits vous-même. Alors que faisons-nous à propos des conflits et de l'agitation ?

AmyJune Hineline : J'adore cet espace Twitter. Je suis [00:26:00] développeur, et c'est tellement vrai. Nous sommes passés par là. Nous pensons juste que ça va prendre une minute pour nettoyer. Vous savez, nous avons tous dit cela avant. 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, le moyen le plus direct de résoudre un conflit de fusion est d'éditer le fichier en conflit.

AmyJune Hineline : Um, le statut de Git. C'est mon préféré. Vous savez, vous listez les fichiers et vous avez changé, et ceux qui doivent encore être ajoutés ou commis. Um, nous utilisons la commande Git diff. Dif nous aide à trouver les différences entre les états du dépôt ou des fichiers. Et cela 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 puis Git push c'est là que 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 les unes aux autres.

AmyJune Hineline : Et c'est le moment d'examiner et de vérifier. Il y a vraiment deux choses que vous pouvez faire avec cette information. Vous pouvez décider de ne pas fusionner, ou vous pouvez résoudre les conflits. Donc, lorsque la décision est prise de ne pas fusionner dans le code, euh, dire que votre code ne joue tout simplement pas bien ensemble. Trop de gens ont fait trop de changements en même temps.

AmyJune Hineline : Donc. Nous allons utiliser une commande, Git fetch origin, qui va chercher le dernier historique depuis le serveur et qui pointe sur votre branche principale locale. Git reset. Et ensuite, 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 : Puis il y a des boutons pour vous aider avec l'option nucléaire de, vous savez, appuyer sur un bouton, mais ce qui est bien c'est Git, les clients sont vraiment polis. Um, 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 le faire. Um, et il vous donne cet avertissement.

AmyJune Hineline : Donc c'est vraiment facile à voir. Donc, euh, même si vous êtes vraiment à l'aise avec la ligne de commande, parfois c'est agréable de revenir à ce client Git sur certaines de ces plateformes de contrôle de version basées sur le web, euh, euh, avec les conflits de fusion et autres. Ce sont des choses comme. Uh, GitHub bit bucket, Git lab.

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

AmyJune Hineline : Vous créez des pull requests. Cela démarre le processus de revue de code et une interface pour que tout le monde puisse voir, hum, et ensuite les revues de code où nous discutons et collaborons sur tout, vous savez, parce que peut-être j'ai fait un changement. Hum, mais quand 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 répertoriés. Vous pouvez voir, hum, 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 de retrait.

AmyJune Hineline : Quelqu'un a regardé mon rapport et a dit, oh, quelque chose n'est pas tout à fait juste. Alors ils ont fait une demande de retrait, qui est comme, un peu comme une demande de fusion. Hum, et avec le clic d'un bouton, je suis capable de 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 le développement et les tests sur une machine locale sans les soucis 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 pour les développeurs ou les designers pour 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 qui sont impliquées dans, vous savez, euh, la configuration de votre environnement hôte 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 la tâche, vous savez ? Certains d'entre nous sont encore sur des machines plus anciennes, pas sur nos M. Vous savez, si vous utilisez un Mac, [00:31:00] vous voulez vous assurer, vous savez, que certaines des exigences minimales pourraient ê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. Donc faites vos recherches lorsque vous choisissez le service que vous voulez utiliser, et puis un serveur local joue un rôle central pour la plupart des offres.

AmyJune Hineline : C'est vraiment possible. Et j'aime répéter cela, le répéter, cela permet le développement et les tests sur une machine locale sans les soucis d'une connexion Internet. J'ai listé 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 de développement de [00:32:00] machines virtuelles.

AmyJune Hineline : Parfois vous entendrez les, euh, les appeler VMs. C'est un serveur autonome complet fonctionnant dans son propre environnement et système d'exploitation. Sur votre machine, en quelque sorte séparé 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 la petite empreinte qu'il a, et des temps de démarrage rapides.

AmyJune Hineline : Donc, c'est comme, vous pourriez l'entendre appelé développement conteneurisé. Alors pourquoi avoir un serveur local ? Vous savez, il y a quelques raisons qui vous obligent à construire votre matériel web localement. Um, vous pourriez 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 signifie que vous ne voulez pas gâcher [00:33:00] la production, euh, pendant que vous bricolez et expérimentez et faites peut-être des erreurs avec le nouveau code. Donc ça permet vraiment plus d'expérimentation sans le risque de faire exploser la bibliothèque.

AmyJune Hineline : Et puis, aucune connexion Internet locale n'est nécessaire. 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 savez, vous pouvez travailler pendant que vous attendez vos enfants à la gymnastique.

AmyJune Hineline : Pendant que vous faites la queue pour l'abonnement au club de gym, 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 simplement plus de contrôle.

AmyJune Hineline : Et vous pouvez dire que je suis excitée à ce sujet. Hum, particulièrement quand vous déboguez, vous savez, disons que vous êtes nouveau et que vous ne savez pas ce que vous faites, vous savez, il est parfois utile d'avoir plus de contrôle sur votre environnement, vous savez, hum, et d'avoir des outils spéciaux en place que vous ne voulez pas sur votre site de production.

AmyJune Hineline : Parce que ça pourrait l'enliser, mais la bonne nouvelle est que, vous savez, ces exigences. Nous avons mentionné quelques diapositives auparavant, vous savez, le serveur web, un serveur de base de données et la partie PHP. Il y a beaucoup d'hôtes locaux qui peuvent faire tout ce travail pour nous. Et nous n'avons pas à le configurer nous-mêmes. Vous savez, 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. Um, 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 plus fonctionnelle. Et ceci est nouveau. Euh, je travaille beaucoup dans l'espace Drupal et nous [00:35:00] travaillons avec, euh, Git pod et j'ai lancé un site WordPress, euh, hier en utilisant Git pod.

AmyJune Hineline : C'est 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 cloud. 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 avec ça. Git pod est que vous pouvez partager l'URL avec quelqu'un et vous pouvez les voir travailler dans le code en ligne en même temps. Et c'est la fin de la présentation. Donc je veux remercier tout le monde encore une fois. Um, et Volkswagen Chick à travers tous les médias et ça 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 puis, euh, quand je partage ce slide [00:36:00] deck, j'ai de très bonnes informations sur, euh, des ressources sur Git, et je vais en fait mettre plus de ressources là-haut parce que je veux mettre ce lien, Git pawed, là. Parce que c'est un environnement local très excitant.

AmyJune Hineline : Et avec cela, je vais arrêter de partager. Et je ne sais pas si nous allons faire des questions.

Matt Graham : Um, bien, je veux dire, j'ai quelques questions pour toi. Tout d'abord, je pense que tu devrais t'occuper du karaoké si jamais ça arrive pour le WordFest, parce que tu pourrais être comme une combinaison de Weird Al version technique avec tes références des 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 à partir du 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. Donc, avez-vous des conseils ou des astuces pour ceux d'entre nous qui sont un peu à cheval sur les deux ?

AmyJune Hineline : Eh bien, non. Parce que vous devriez savoir, comme, vous savez, vous pourriez 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 flux de travail, vous savez, euh, je pense que ça pourrait être plus compliqué en tant que freelance travaillant avec différentes organisations, parce que certaines personnes pourraient nommer leurs branches différemment ou ils pourraient utiliser différents hôtes locaux ou ils pourraient utiliser différents systèmes de contrôle de version, vous savez ?

AmyJune Hineline : Donc. Je, je pense que ça complique le fait d'être un freelance quand on travaille avec des agences, parce qu'il faut apprendre le workflow de tout le monde. Donc, je n'ai pas de conseils à te donner, sauf pour le "okay".

Matt Graham : Eh bien, c'est juste. C'est juste. Je, [00:38:00] vous savez, je me suis dit que j'allais tenter le coup. Hum, ouais. Parce que c'est, c'est vrai. Comme si tu étais, tu es, tu es en plein dans le mille.

Matt Graham : C'est le Far West. Et je veux dire, ça dépend. Euh, en tant que freelance, selon le temps qu'on vous donne, vous pouvez le faire dans les règles de l'art, comme le ferait une agence, ou vous pouvez juste vous dire, oh, je dois coder ça aussi vite que je peux. Donc ouais, je veux dire, c'est, c'est, uh.

AmyJune Hineline : Je pense que ça en fait partie. C'est difficile, surtout si vous avez été freelance pendant longtemps, car vous n'avez pas cette responsabilité vis-à-vis de l'équipe.

AmyJune Hineline : C'est vrai. Donc tu es comme, prendre ces raccourcis ou tu nommes la branche, ceci est une branche, ou ceci est un correctif. Et je, tu sais, au lieu de faire tes messages de commit. C'est vrai. Donc, euh, il y a définitivement 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. Euh, et c'est presque autant le far west que, euh, que d'être un freelance. Donc c'est un peu, encore, à cheval sur la ligne, mais, vous savez, et vous vous posez toujours le même genre de question. Est-ce que je vais faire ça bien ? Ou si ça fait, 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 une réunion, des questions.

Matt Graham : Hum,

Rachel Winchester : Eh bien, je suppose que j'ai une question complémentaire à ce que vous venez de demander à Matt, je suis AmyJune. Avez-vous une expérience, je suppose, euh, de la consultation et, et d'aider les gens à faire la transition de, euh, le développement en freelance à travailler pour une plus grande agence ?

AmyJune Hineline : Non, mais j'ai de l'expérience dans la contribution à l'open source, qui est en quelque sorte le même flux de travail. Vous savez, nous travaillons avec d'autres personnes, vous savez, la plupart du temps, quand nous pensons à contribuer au travail, euh, WordPress, nous [00:40:00] avons la file d'attente des pistes, qui reflète en quelque sorte le flux de travail de l'agence. On travaille tous ensemble. Nous soumettons des tickets, nous collaborons. Nous faisons des demandes de fusion. Nous faisons des correctifs. Donc j'ai ce genre d'expérience, mais, euh, je n'ai pas l'habitude, 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. Hum, bien, je suppose que nous allons conclure. Hum, je veux remercier nos sponsors, euh, pour ce, pour le 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 [00:41:00] tweetez-la avec le hashtag WordFest Live.

Matt Graham : Merci également à nos partenaires médias et à notre micro sponsor. Donc, dans la tente de la communauté pour les prochaines, euh, 53 minutes, euh, nous avons Cloudways, euh, ils livrent le lancement avec des mots, prise de contrôle de la tente avec Bridget Willard. Euh, il y a une pause d'une heure dans le programme de l'étape 2 en ce moment. Alors allez à la tente communautaire, nous serons de retour à 01:00 UTC. Vous rendez tous nos Grands Cœurs d'Orange pleins. [00:42:00]

Partager cette session