⛺️ WordFest Live - The Festival of WordPressCatch Up Now
WordPress的节日
2022年3月4
为您带来的是
选择一种语言

Git进入状态--从自由职业者到协作式工作流程的转变

会议概览

发言人。
期待什么。

从自由职业者到在机构中工作可能会让人不知所措,但不要让对协作工作流程的恐惧吓到你。

什么是Git?更好的问题是,什么是版本控制?本地环境又是什么东西?

我们将介绍以下基本知识
- 本地环境、多文件和分支
- 版本控制
- git客户端的概述

编辑文字稿

AmyJune Hineline - Git into the Groove - 从自由职业者到协作式工作流程的转变

Yoast。[00:00:00] 你知道吗,Yoast SEO,插件,[00:01:00] 它们是红色、橙色和绿色的反馈子弹,可以帮助你优化你的帖子,用于网络。它在数以百万计的网站上运行。我们试图让每个人都能理解和掌握SEO。

拒绝接受。哦,太好了。我的网站崩溃了。我放弃了。不要放弃你的梦想。乔丹,你是谁?是我。来自未来的你。你的专业网站并不是遥不可及的。你只需要Nexcess。有了Nexcess管理的主机,你就可以获得快如闪电的加载时间,内置的性能监测和更新,以及总是令人敬畏的支持。24 7 365为您的所有项目。哇。是的。

Weglot。发现Weglot是你网站的简单翻译解决方案。你所要做的就是将Weglot添加到你的网站,选择你需要的语言,就这样。你的网站现在可以使用多种语言了。

Bluehost:谁说建立一个在线[00:02:00]商店必须与Bluehost网站是困难的。它不仅仅是简单的。它是告诉我们你的事情和智能AI。我们会把它从那里。容易它是WooCommerce友好。因此,你可以添加其中的一个,或交换这个容易。它可以在几分钟内建立商店,有无限的产品。容易。无论你卖靴子,书籍或碗,这是创建一个网上商店与Bluehost,容易建立超越边界与Bluehost。

马特-格雷厄姆。欢迎大家来到WordFest现场。我们刚刚开始24小时庆祝WordPress的人、技术和大橙心。

瑞秋-温彻斯特WordFest Live不仅提供节日教育内容、健康课程和交流机会,而且还是大橙心的筹款活动。请在任何时候访问那个捐赠链接,支持我们有机体的使命。

马特-格雷厄姆WordFest Live是一个24小时的机会,让WordPress社区走到一起,感觉不那么孤立,相互学习,相互陪伴。

Rachel Winchester:我们今天的第一位发言人是Git Into The Groove的AmyJune Hineline,从自由职业者到协作工作流程。AmyJune是一位活跃的开源贡献者。作为开源社区的大使,她在帮助个人在为社区做贡献时变得更加自如和自信方面有着独特的优势。除了她的工作,建立社区联系,[00:04:00] AmyJune是一个狂热的geocasher注意到大众汽车的爱好者,并与她的肘部在桌子上的八。

艾米-朱恩-希尼利。你好,谢谢你的精彩介绍。嗯,我喜欢先去。这很好,可以把事情说出来。有一点小插曲,但这没关系。当我们,嗯,在技术领域工作时,就会发生这种情况,对吧。我们知道这一点。嗯,所以我今天要谈的是,嗯,协作工作流程和Git,嗯,都是以八十年代为主题的,这让它更有趣一点。

艾米-朱恩-希尼林。呃,在我开始之前,我想做一些内部管理。幻灯片里有一些图片,我是一个无障碍的倡导者。因此,我理解今天观看或参与的一些人可能无法看到视觉资产,如果有任何图片增加了背景或需要解释,我会,呃,我会[00:05:00]边走边解释,但其中一些是装饰性的,我不会描述它们。

艾米-朱恩-希尼林。嗯,为了简洁起见,我通常包括一个幻灯片的链接,但我不小心把它放在一个红帽子,呃,驱动器里。所以我打算在演讲结束后重做,并将这些,呃,幻灯片提供给大家。我会在网上公布这些。I. 今天的演讲,嗯,关于北加州的Aloni土地。

艾米-朱恩-希尼林。我想承认,嗯,我确实生活在一个传统的祖先未被承认的领土上。呃,重要的是要了解我们都有的悠久的历史。这给我们带来了生活。呃,土地承认并不存在于过去式中。呃,它们是当前的,呃,殖民主义是一个持续的过程,我们需要建立我们的心智,呃,我们现在的参与者。

艾米-朱恩-希尼利。呃,我的名字是AmyJune。都是一个字的标题,骆驼的大小写。呃,我的代名词是她和[00:06:00]她。我是https://opensource.com的高级社区经理,opensource.com是红帽子旗下的一个网站。opensource.com是一个致力于分享有关开源信息和开放文化的网站。如果你想为opensource.com写文章,你知道,Git ahold of me,嗯,你可以看到我的链接在这里。

艾米-朱恩-希尼林。它是VolkswagenChick,跨越,你知道,LinkedIn和Facebook和Instagram和Twitter。嗯,我,我想承认这一点。我真的相信要降低技术的准入门槛,不仅是贡献,而且是一般的技术,我领导贡献日,嗯,在地方区域和国家层面。嗯,因为每个人,嗯,都可以回馈给我们的项目,不仅仅是用代码。

艾米-朱恩-希尼林这是我的朋友Spotty。他和我住在一起。嗯,你可能会看到他。所以我只想提前介绍一下他。他的长名字是Spotty MacSpotsALot,但我们可以简称为spot。他是[00:07:00]以星际迷航的猫命名的。而我们今天要谈的是什么呢?我们将谈论自由职业者的世界与机构生活的区别。

艾米-朱恩-希尼林。嗯,我真正想集中讨论的事情之一是使我们更容易与其他人协作的工具。这就是版本控制,但我也会谈论,呃,git客户端,呃,本地环境。如果时间允许的话,我也会在这里做一个演示,但我确实讲了很多,所以这通常不会发生。

AmyJune Hineline:从自由职业者转到代理公司,肯定有它的优势。嗯,我们喜欢自由职业者的一些事情是什么?我们喜欢单独工作给我们带来的自由,你知道,我们在自己的时间工作。在任何时间。我们不必担心打扰团队,也不必在半夜起床时给他们发短信或电子邮件,因为我们对自己的代码有一种启示。

AmyJune Hineline。但是,伴随着这种自由,[00:08:00]也有一些困难,你知道,呃,周围没有人可以反弹的想法。没有人帮助你进行代码审查。没有人帮助你解决任何形式的冲突。有时,你只是做你需要做的事情来完成工作,如果没有这种责任感,就会很不利。

艾米-朱恩-希尼林。有时我喜欢把它等同于狂野的西部。因为我们要兼顾所有的角色,你知道,你是负责绝对一切的人。你是项目经理,你在做质量保证和,你知道,一个用户体验,QA和UX。呃,你是你是设计师,你是产品所有者。

艾米-朱恩-希尼林。你是所有这些东西。但是,历史上自由职业者的许多优势,随着大流行病的发生,已经开始被纳入机构生活。你知道,嗯,我们看到公司和机构正在转向更多的,嗯,远程友好的条件。我们不再像以前那样进入办公室了。

艾米-朱恩-希尼林。而且我们现在对时区的包容性也更强,团队工作提供了思想的多样性和多样性。创造力,有一个团队围绕着有这样的团队环境,每个人都一起进行头脑风暴,这反过来真的增加了问题的解决,我们在达成解决方案时更有效率和效果。

艾米-朱尼-希尼林。有效的团队也允许更多的创新空间,呃,反过来,它创造了,你知道,一个竞争优势,你知道,呃,有呃,完成目标和目标,呃,呃,目标,你知道,分享不同的意见和经验真的加强了,让我们负责任。你知道,我们可以更快地做出决定,团队努力增加,你知道,嗯,你可以做,你可以做设计,规划,实施[00:10:00]实施的阶段,当一个团队在那里帮助,更有效。

艾米-朱恩-希尼林。还有就是在一个成熟的公司或机构从事传统的全职网络开发工作,可以让我们有机会进行更多的结构化学习,你知道,还有自由学习。你知道,我们有专业的发展BudGit,我们可以依靠。嗯,再加上我们每天都能接触到专家、导师和最佳实践,而你作为一个自由职业者,也许并不总是Git。

艾米-朱恩-希尼林。因为成本问题,有一个障碍。当你自己一个人的时候,你承担每一个角色,就像我说的,在一个团队中,每个人都有一个地方可以根据角色和他们的具体技能组合作出贡献。而这确实增加了团队中制衡形式的责任。你知道,我们有那些项目经理,他们帮助分配任务,他们作为开发人员和利益相关者的中间人,他们帮助翻译行话和[00:11:00]找出具体需要的票据被提交,他们被分配。

AmyJune Hineline。嗯,开发人员和设计师在任务上工作。然后,你知道,他们是合作的,这导致了改进和更多的想法。有技术负责人帮助我们合并代码,解决代码中的冲突。然后在冲突的变化被解决后。我们有为我们进行用户测试和质量保证及回归测试的人。

艾米-朱恩-希尼林你知道,当我们写代码时,我们真的不应该。嗯,要审查我们自己的代码。嗯,然后在亲,之后,项目经理再次接管,并决定这些变化是否为利益相关者准备好了,这是一个冲洗和重复,在一个团队的代码内,当我们有像版本控制这样的工具时,工作流程管理就变得非常容易了。

AmyJune Hineline。版本控制是一个系统,它记录了一个[00:12:00]文件集或一组文件随时间的变化,以便我们可以回去,我们可以在以后回忆起这些特定的版本。所以这更多的是关于代码工作流的管理版本控制是一类帮助软件团队的软件工具。管理随着时间推移对源代码的修改,呃,版本控制,软件跟踪,对代码的每一次修改和一种特殊的数据库。

AmyJune Hineline。呃,如果犯了错误,开发人员和项目经理可以让时间倒流,并与早期版本的代码进行比较,以帮助真正补救任何错误或失误,而不会给整个团队带来大量的停机时间。实施版本控制的一些要求是什么?因为有一些先决条件,首先你需要一台为该任务配备的计算机。

艾米-朱恩-希尼林你要确保我们安装。Git在本地。或者在全球范围内,你知道,[00:13:00]即使它已经被安装了,这可能是,它可能,它可能被安装了,因为也许你已经安装了开发工具,但更新到最新的版本总是一个好主意。这可以通过一个软件包或其他安装程序来完成,或者你可以下载源代码并自己编译它。

艾米-朱恩-希尼林如果你有足够的信心去做。然后还要有命令行的基本知识。如果你是初学者,可以使用Git客户端,但你真的应该熟悉一些基本的命令行知识,不是很多,但对了解客户端的幕后情况确实有帮助。

艾米-朱恩-希尼林当你使用一个。而且还有用于命令行的图形用户界面。有时我们听到它们被称为古伊,你知道,GUI图形用户界面。我想介绍一下这个概念,因为在接下来的几张幻灯片中,我有一些图片供参考。嗯,在我介绍了命令之后,嗯,它们在Git客户端的样子,客户端[00:14:00]将命令简化为按钮、下拉和窗口,嗯,工作者的界面。

艾米-朱恩-希尼林这是一个客户的图像。你知道,我们看到的是源树和一个横跨顶部的日志。你可以看到在两侧有一些按钮。还有更多的按钮。呃,其中一些是不可用的。如果没有什么可做的,例如,嗯,横跨顶部中间的合并按钮,嗯,它是灰色的,因为目前没有什么可合并的,但结帐、广告分支、樱桃采摘、恢复功能都是可用的。

AmyJune Hineline。沿着左边,有复选框来添加分支,嗯,嗯,标签,你知道,你可以查看那些源树,嗯,然后穿过,你知道,非常,非常,嗯,左边,有,你可以选择什么文件在日志中打开。有很多git客户端可用。有些是免费的,有些不是,有些有免费的版本,但访问量有限[00:15:00]。

艾米-朱恩-希尼林其他的是免费的,可以完全访问。有些免费版本只允许我们在公开的仓库工作。因此,如果我们的客户的代码库是私有的或访问量有限,这有时会有限制。因此,请确保你做足功课,你知道,尝试一些,确保他们有你需要的功能。

AmyJune Hineline。然后也要注意的是,有时机构有共享许可证,并希望每个人都使用相同的客户端,因为当每个人都使用相同的客户端时,故障排除会更容易一点。许多开发商,开发人员转向集成开发环境。那些是IDE的简称,嗯,集成开发环境。

AmyJune Hineline。大多数这些,嗯,IDE客户端,嗯,他们有一个学习曲线。嗯,所以有时IDE可能无法为你所用,但很像egit客户端。有些是免费的,有些有试用版,还有一些。还有一些机构,比如让每个人都使用同一个工具,所以要确保你的机器可以处理运行一个[00:16:00]IDE的负载。

艾米-朱恩-希尼林呃,有时打开一些应用程序的组合会影响运行时间,并真正减慢机器。我知道,直到我开始使用一个更强大的机器,如果我打开Docker,里面有一个复杂的电子表格,里面有很多东西在进行。然后,如果我打开我的Slack,然后,哦,我的天哪,如果我有缩放,我的机器真的会开始抱怨,风扇会旋转起来。

AmyJune Hineline。嗯,所以要注意,你知道,如何,如何,需要多少工作量来运行这些东西的总和。那么,为什么是Git而不是subversion或其他工具?我们很多人都使用Git,因为Git,已经成为网络开发的行业标准。它有一套非常丰富的命令来跟踪克隆和工作流程。

AmyJune Hineline。这些基础知识中的许多内容可以贯穿到其他版本工作流程中。所以,这里是我的八十年代的参考开始发挥作用的地方。嗯,请原谅我提前说了。[00:17:00] 我们从来没有打算把你关起来。我永远不会让你失望。所以我们要开始谈论一些关于Git的基础知识,嗯,我在这里列出了一些,但我们将在稍后进入大部分的内容,但是,嗯,我们有Git在里面。

AmyJune Hineline。呃,它启动一个新的仓库。Git status 是我绝对喜欢的命令。它将列出所有已经被修改和等待提交的文件。这是一个在运行其他命令前运行的好命令。也许这就是为什么我相信它是我的最爱。因为我做得最多。嗯,它的作用是。

艾米-朱恩-希尼林它可以提醒你你一直在做什么。有分支功能,可以列出你当前版本库中所有的本地分支。你还可以直观地指出你目前在哪个分支上。根据你的终端,你知道,它可能会被突出显示为绿色或有一个星号。

AmyJune Hineline:Git diff 显示了文件的差异,这些差异还没有被归档。Git记录了。这个命令是用来列出,呃,[00:18:00]当前分支的版本历史。你在Git push上,因为我们的主分支的已提交分支到我们的远程仓库。同样,我将在稍后深入讨论这些问题。

艾米-朱恩-希尼林。嗯,所以不要觉得过分。Git拉取和合并,你知道,在你的工作目录上的远程服务器的变化。Git add。这就是我们添加我们一直在工作的文件的地方。嗯,我们把它们放在一个暂存区域,Git commit,实际上是提交这些修改,嗯,Git merged。这是当我们和其他人一起工作时,我们把我们的工作流程合并在一起。

AmyJune Hineline。所以,让我们进入状态,谈一谈在本地工作的问题。这意味着在你的机器上,而不是在浏览器或云中。所以本地工作的基本原理,我们要讨论的主要命令之一是Git clone。它可以创建一个工作副本。它在你的机器上创建一个仓库的工作副本。

AmyJune Hineline。从那里你开始做你的修改,嗯,Git远程。[00:19:00] 如果你还没有连接到你的本地仓库,到一个远程服务器,嗯,你添加服务器,这样你就能够推送它,你的变化。这是在你先在本地创建了一个初始化的代码库时使用的,当我们谈到这一点时,Git在其中给我。

艾米-朱恩-希尼林Git pull。而且我几乎在每个工作流程中都会讲到这个。当你的代码在其他地方,并且可能与你当前的工作不同时,你知道,获取并合并远程服务器上的变化到你的工作目录。同样,我将会经常谈论这个命令。它真的可以帮助你及时了解其他人的工作情况,比如Git状态。

AmyJune Hineline。我几乎每件事都要做一个Git投票。这里有一个镜头。Git客户端,你知道,在我们克隆的时候,它是一个非常直观的界面。我不打算说容易,因为容易是一个相对的术语,但它是非常直接的。嗯,你输入代码库所在的URL,然后按一个按钮。我们大多数在线共享的资源库,在他们的仪表板上或在他们的read me文件中都有这个[00:20:00]信息,说明如何在本地设置它。

艾米-朱恩-希尼林。那么,让我们来谈谈分支的问题。嗯,我们不想对共享代码库进行修改。因此,我们希望创建反映代码的分支,并且,我们希望在这些其他分支上工作。这样我们就不会破坏别人的工作。

AmyJune Hineline。这里有一些关于分支的命令。我们有Git branch,当我们在终端或她的Git客户端中输入这个命令时,它列出了你的仓库中的所有分支,并且它还告诉你你目前在Git checkout的哪个分支。你可以用 Git checkout 来修改你的分支名称。

艾米-朱恩-希尼林。这个命令是用来从一个分支切换到另一个分支的。Git checkout dash B。实际上,它当时就为你创建了一个新的分支,你就切换到了它。所以你会说Git checkout dash B,然后是你的新分支的名字。然后你就会[00:21:00]被存放在那个新的分支上。 Git branch dash D 会删除你当前的特性分支。

艾米-朱恩-希尼林。回到那个客户,你知道,按一个按钮,你可以在几秒钟内命名和创建一个分支机构,你命名品牌。你,你如何命名分支机构,真的取决于你。但当我们一起工作时,我们要确保我们与其他人所做的一致。有时机构和组织可能有关于命名惯例的参数,比如任务或票号和名称。

AmyJune Hineline。嗯,有时当你在工作时,嗯,你知道,贡献回WordPress,你把票,嗯,作为你的分支名称,你知道,什么,你正在工作的票在,在跟踪队列中。好的,所以我们现在要推送它,真正地推送它。对。推送是指与他人进行远程工作,你知道,在某些时候你想分享你所做的修改或增加的内容。

艾米-朱恩-希尼林。与团队一起,为了做到这一点,你必须把它推向上游。呃,你要确保[00:22:00]你的分支准备好。所以,首先你要做Git add,就是把一个或多个文件添加到staging上,让它留下来。嗯,如果你想添加所有的文件,你可以做Git,用星号添加或Git,对不起,用句号添加Git ad。这样就可以添加所有的文件,但你也可以通过说:"Git, add, and then the file name "来一个一个地添加文件。

AmyJune Hineline。所以说你正在处理四或五个文件,但你还没有准备好添加所有的文件。你可以一个一个地添加它们。呃,Git commit,呃,把改动提交到你的本地分支。呃,我们有Git comat,呃,Git commit dash M,然后你在那里放一条信息,你知道,那是你的提交信息。嗯,同样,你知道,嗯,明智地使用你的信息。

AmyJune Hineline。有时,机构会希望你也许以你的票号或,或功能分支名称开始,你知道,所以,所以真的与你的团队一起工作的提交信息,然后Git [00:23:00] pull,你知道,获取和Birch在远程服务器上的变化到你的工作目录。同样,就像我说的,我经常引用这个,因为这真的很重要,要确保你的。

艾米-朱恩-希尼林目前与他人。有时沟通不那么完美。而且有几个人同时在做同一行的代码。你知道,也许有人在你上次检查后就把自己的推上去了,这真的有助于解决冲突。嗯,我在接下来的几张幻灯片中谈到了冲突,然后是Git推送。

AmyJune Hineline。你知道,你把你的修改发回给远程仓库的主分支。这是另一张截图,你知道,这张图突出显示了用户界面中推送和拉取的按钮。呃,旁边的下拉菜单允许有更多的选择,并提供有用的信息。我真的建议在你第一次学习这个过程和熟悉工作流程的时候,熟悉工具提示和信息窗口。

AmyJune Hineline。通常这些工具提示会显示相关的,Git终端命令来。所以记得我说过,基础知识[00:24:00] 你可以获得一些。更高级的知识是通过,你知道,悬停和下拉,找出那些,呃,相关的,Git,呃,终端命令。

艾米-朱恩-希尼林。所以我们要谈谈合并的问题。在应用外部修改之前,你应该把你自己的工作做好,并在本地提交。这样你就不会,如果有任何冲突,就不会被打倒了。所以,让我们把我们所有的工作流程都带进来。你知道,这不仅仅是把你的代码推送到一个干净的分支。

AmyJune Hineline。嗯,也许你的团队同时在做同样的代码。你知道,它们都需要汇集在一起并被合并。嗯,所以这个Git远程命令,你知道,这个命令是用来连接你的本地仓库的。Git pull。记得我经常谈及这个问题。我们获取并合并变化到远程[00:25:00]服务器,你知道,到我们的工作目录,然后Git合并。

AmyJune Hineline。这个命令将指定的分支历史合并到当前分支和一个客户端。你可以查看日志,比较同一文件的两个实例的时间。你知道,它的颜色编码为绿色是添加的。红色是取出的。你可以与你的客户在不同的时间实例中比较不同的分支。

艾米-朱恩-希尼林。嗯,这里是合并,你知道,有一个合并的按钮。它在幕后施展魔法,把代码拉到一起。嗯,虽然它可以做一些魔术,但如果有很多冲突,它不想做假设。所以你必须自己解决这些冲突。那么,我们该如何处理冲突和骚动呢?

艾米-朱恩-希尼利我喜欢这个Twitter空间。我是[00:26:00]开发人员,这一点非常正确。我们一直都在那里。我们只是认为要花一分钟时间来清理。你知道,我们以前都说过这个。他们是著名的。最后一句话。这将是一个快速的解决方案。但是冲突发生了,你知道,即使是最资深的开发人员,解决合并冲突的最直接方法是编辑有冲突的文件。

AmyJune Hineline。嗯,Git状态。记得那是我最喜欢的一个。你知道,你列出了你已经改变的文件,以及那些仍然需要添加或提交的文件。嗯,我们使用Git diff命令。Dif可以帮助我们找到仓库或文件的状态之间的差异。这对预测和防止合并冲突很有用。

AmyJune Hineline。我们有Git logged dash dash merge,在那里我们可以查看所有的合并冲突,然后Git push,这就是我们把我们的改动送回我们远程仓库的lo的主分支。下面是Git客户端的截图。同样,你可以看到有三个版本的相同代码在相互比较。

艾米-朱恩-希尼林。现在是审查和检查的时候了。有了这些信息,你可以做两件事。你可以决定不合并,或者你可以修复冲突。因此,当决定不合并代码时,嗯,说你的代码就是不在一起玩了。太多的人同时做了太多的修改。

艾米-朱恩-希尼林那么。我们将使用一个命令,Git fetch origin,这是从服务器上获取最新的历史,并指向你的本地主分支。Git reset.然后,嗯,提交,这个命令撤销指定提交后的所有提交,并保留本地的修改,Git reset dash hard with, um, the commit number, 这个命令丢弃所有历史,回到指定的。[00:28:00]

AmyJune Hineline。然后有按钮来帮助你的核选择,你知道,按下一个按钮,但好的是Git,客户真的很有礼貌。嗯,他们确保我们真的想炸毁或解散我们的工作。所以你可以在这个截图中看到,你知道,你确定你要做什么。嗯,它就会给你这个警告。

艾米-朱恩-希尼林。所以这真的很容易看到。所以,嗯,即使你在命令行上非常舒服,有时回到Git上也很好,Git客户端在一些更多的,呃,呃,有合并冲突和东西,基于网络的版本控制平台。这些东西就像。呃,GitHub bit bucket,Git lab。

AmyJune Hineline。这些平台为我们提供了一个激进的视觉界面,这也能真正帮助我们在本地跟踪和管理我们的版本控制项目。嗯,你知道,工作流程是有点相同的,你知道,你创建一个分支,你在一个远离生产现场的空间工作。你添加提交,修改代码并把它们添加到[00:29:00]分支。

AmyJune Hineline。你创建拉动请求。这就开始了代码审查的过程,并为每个人提供了一个界面,嗯,然后是代码审查,在那里我们讨论和协作一切,你知道,因为也许我做了一个改变。嗯,但什么时候做了一个不同的改变,我们需要讨论这些事情。然后是合并,我们把代码移到主分支。

AmyJune Hineline。呃,这是一张GitHub仓库的截图,你知道,呃,这是我的,因为我喜欢有礼貌。呃,你可以看到这些文件被列出来了。你可以看到,嗯,随着时间的推移,我已经改变了一些东西,你知道,上面有一些按钮。这是我的在线代码库的界面。这是一个拉动请求。

艾米-朱恩-希尼林有人看了我的报告后说,哦,有些地方不太对。所以他们提出了一个拉动请求,这就像,有点像一个合并请求。嗯,通过点击一个按钮,我就能做到这一点,嗯,在线。本地服务器对开发者来说起着至关重要的作用。开发环境的目的是有一个地方,允许在本地机器上进行开发和测试,而不用担心失去互联网连接或意外地创造临时的安全漏洞或不断上传文件,本地环境确实是一个让开发人员或设计师测试他们想要的一切的地方。

AmyJune Hineline。在不担心影响任何终端用户或内容编辑在实时网站上工作的情况下,就像Git一样,有一些先决条件,你知道,呃,至少要建立你的本地主机环境。呃,你需要一个PHP服务器。这是WordPress的PHP服务器,一个数据库服务器,嗯,还有WordPress的PHP。

艾米-朱恩-希尼林你还需要一台为这项任务配备的电脑,你知道吗?我们中的一些人还在使用旧机器,而不是在我们的M机器上。你知道,如果你使用的是Mac,[00:31:00]你要确保,你知道,一些最低要求可能是这样的,你知道,一个双核86小型机处理器,也许有4GB内存或GB Ram,然后,你知道,25GB的可用磁盘空间。

艾米-朱恩-希尼林。但所有这些本地主机,当你设置它们的时候会告诉你它们喜欢什么。嗯,一些更复杂的代理可能是。要在最佳状态下工作。嗯,你可能需要一个八核心的处理器。因此,在选择你想使用的服务时,要做研究,然后本地服务器在所有的报价中大部分都起着关键作用。

艾米-朱恩-希尼林它真的允许。我喜欢重复这一点,重申这一点,它允许在本地机器上进行开发和测试,而没有互联网连接的担忧。我已经列出了一些建立本地服务器的选项。呃,你可以有,你知道,Linux,你可以使用Mac iOS,windows开发。你可以使用虚拟机开发的[00:32:00] 虚拟机。

艾米-朱恩-希尼林。有时你会听到,呃,他们被称为虚拟机。这是一个完全独立的服务器,在它自己的环境和操作系统中运行。在你的机器上,与你的机器分开,然后是Docker开发环境。Docker是一个很好的工具,嗯,对于本地开发环境来说也是如此,因为它的字体小,占地面积小,而且启动时间快。

AmyJune Hineline。所以这就像,你可能听到它被称为容器化开发。那么,为什么要有一个本地服务器?你知道,有几个原因,几乎要求你在本地建立你的网络东西。嗯,你可能对客户端服务器的访问有限。你知道,你正在为别人建立一个网站或一个应用程序,而你不能访问他们的网络服务器。

艾米-朱恩-希尼利你不能访问他们的私人仓库。呃,如果你正在为一个现有的网站或应用程序建立一个新的版本,你知道,这意味着你不想在生产中捣乱,呃,当你在修补和实验时,可能会在新代码中犯错。所以它真的允许更多的实验,而没有炸毁库的风险。

艾米-朱恩-希尼林然后不需要本地互联网连接。你不需要虚拟主机服务,甚至不需要互联网连接。你知道,一切都在你的电脑上方便地运行。你可以专注于编码,把网站的部署留到你准备好的时候。你知道,你可以在等待你的孩子做体操时工作。

艾米-朱恩-希尼林。当你在排队等候健身会员时,你知道,诸如此类的事情。你可以真正定制你的设置,你知道,在上线前测试你的开发。它真正消除了建立新功能的风险,使开发的压力减少。然后还有一个想法,就是拥有更多的控制权。

艾米-朱恩-希尼林。你可以说我对此很兴奋。嗯,特别是当你在调试的时候,你知道,比如你是新来的,你不知道你在[00:34:00]做什么,你知道,有时候对你的环境有更多的控制是有帮助的,你知道,嗯,有特殊的工具,你不希望在你的生产现场。

艾米-朱恩-希尼林因为它可能会使它陷入困境,但好消息是,你知道,这些要求。我们在几张幻灯片上提到,你知道,网络服务器、数据库服务器和PHP部分。有很多本地主机可以为我们做所有这些工作。而且我们不必自己去设置。你知道,通常这些主机会有一个网络服务器,一个数据管理系统,在网络服务器上运行。

艾米-朱恩-希尼林他们有服务器端的编程语言。嗯,他们通常有控制网络服务器的接口,你知道,开始停止。暂停,然后是访问和操作数据库的接口,我们并不总是有一个更多的在线工作。而这是新的。呃,我经常在Drupal空间工作,我们[00:35:00]用,呃,Git pod工作,我昨天用Git pod启动了一个WordPress网站,呃,。

艾米-朱恩-希尼林这是一个新的基于浏览器的环境,可以进行协作。它是Git pod。在云端建立一个自动化的开发环境是非常简单的。而且不需要花太多时间。它与vs代码集成,或者你可以在它的环境中使用JetBrains IDE,而且它是非常可定制的。

艾米-朱恩-希尼林。这一点非常好。Git pod是你可以和别人分享URL,你可以看到他们同时在网上工作的代码。这就是演讲的结束。所以我想再次感谢大家。嗯,还有大众汽车公司的奇克在所有的媒体上,那是拼成V O L K S W A G E N C H I C K。

艾米-朱恩-希尼林。它真的很长,但你可以做到。然后,嗯,当我分享那个幻灯片[00:36:00]甲板时,我确实有一些非常好的信息,嗯,关于Git的资源,实际上我会把更多的资源放在那里,因为我想把那个,Git pawed链接放在那里。因为它是非常令人兴奋的本地环境。

艾米-朱恩-希尼林。就这样,我将停止分享。我不确定我们是否要进行提问。

马特-格雷厄姆。嗯,我是说,我有几个问题要问你。嗯,首先,我认为你需要负责卡拉OK,如果那是WordFest的事情的话,因为那样你就可以像科技版的Weird Al一样,用你的,你的,你的八十年代的参考资料来组合。因为我已经开始跟着这些歌曲跳了。

AmyJune Hineline:实际上,我在无障碍社区做了另一个演讲,我谈论替代性文本,我也使用八十年代的图像。超级有趣。

马特-格雷厄姆。那么,嗯,有一个问题,嗯,我的意思是,从你的演讲的标题来看,我做了很多,嗯,我是一个自由职业者,但我也作为一个自由职业者与机构合作。所以,你有没有什么可能像技巧或窍门,给我们这些有点跨行的人?

AmyJune Hineline。因为你应该知道,像,你知道,你可能有你自己的工作流程,但同样,像与机构合作是不同的,你知道,每个机构都是有点不同。因此,学习他们的工作流程,你知道,呃,我认为作为一个自由职业者与不同的机构合作可能会更复杂,因为有些人可能会给他们的分支机构命名不同,或者有可能使用不同的本地主机,或者他们可能使用不同的版本控制系统,你知道?

艾米-朱恩-希尼林所以。我,我认为,当你与机构合作时,作为一个自由职业者会变得复杂,因为你必须学习每个人的工作流程。所以我没有任何提示给你,除了好吧。

马特-格雷厄姆。嗯,这很公平。这很公平。我,[00:38:00]你知道的,我想我要试一下。嗯,是的。因为它是,它是真的。就像你,你是你是正确的钱。

马特-格雷厄姆:这是个狂野的西部。我的意思是,这取决于。呃,作为一个自由职业者,取决于你有多少时间,你可能会像一个机构那样按部就班地做,或者你可能只是想,哦,我必须以最快的速度来编码。所以,是的,我的意思是,这是,这是,呃。

艾米-朱恩-希尼林我认为有一部分是这样的。这很难,特别是如果你已经做了这么久的自由职业者,因为你没有与团队的那种责任感。

艾米-朱恩-希尼林。对。所以你就像,走那些捷径,或者你命名分支,这是一个分支,或者这是一个修复。而我,你知道,而不是像做你的提交信息。对。所以,嗯,肯定会有更多的责任感,你知道,当你和一个团队一起工作时,我想。

马特-格雷厄姆:是的,当然。嗯,这也很有趣,因为我也曾是一个机构中唯一的[00:39:00]开发人员。呃,那几乎是一个狂野的西部,就像它,呃,作为一个自由职业者一样。因此,这是一种,再次,跨线,但是,你知道,你仍然Git同样的事情。我是不是要做这个?或者,如果这样做,你知道,在我能够实际完成之前的六天,我可以把它完成。所以,嗯,我认为,嗯,是的,嗯,是的,看起来我们并没有得到任何会议,任何问题。

马特-格雷厄姆。嗯。

瑞秋-温彻斯特。好吧,我想我有一个后续问题,你刚才问马特我是艾米-朱恩。你是否有任何经验,我猜,呃,咨询和,以及帮助人们从,呃,自由开发过渡到为一个更大的机构工作?

AmyJune Hineline。没有,但我有为开放源码做贡献的经验,这也是那种相同的工作流程。你知道,我们和其他人一起工作,你知道,大多数时候,当我们考虑像贡献回工作,呃,WordPress,我们[00:40:00]有跟踪队列,这有点像,机构工作流程。我们都在一起工作。我们提交票据,我们是合作的。我们做合并请求。我们制作补丁。所以我确实有这种经验,但是,嗯,我通常不,嗯,嗯,这就像每个人都有自己的技能和角色。

艾米-朱恩-希尼林。对。这就是技术经理或技术项目经理的作用,而我不是。

马特-格雷厄姆。好的。嗯,我想我们可以结束了。嗯,我要感谢我们的赞助商,嗯,为这个,为WordFest。这是Bluehost、Cloudways、GoDaddy Pro、Nexcess、Yoast和weglot,请务必参观他们的帐篷并在那里与他们交谈。你甚至可能赢得奖品。所以别忘了在摄影棚里拍下你的照片,并在推特上注明WordFest Live。

马特-格雷厄姆。也感谢我们的媒体合作伙伴和我们的微型赞助商。因此,在社区帐篷里,接下来,呃,53分钟,呃,我们有Cloudways,呃,他们正在提供用文字启动,帐篷接管的Bridget Willard。嗯,所以现在第二阶段的时间表有一个小时的休息时间。所以,请到社区帐篷去,我们将在一小时后回到UTC的01:00。你让我们所有的大橘子心满满的。[00:42:00]

分享本次会议