2020 Web 开发者路线图第 4 步:学习终端、Git 和部署

2025-06-10

2020 Web 开发者路线图第 4 步:学习终端、Git 和部署

本视频是系列视频的一部分。如果您喜欢,可以观看本系列视频的前一部分(关于学习 JavaScript)以及下一部分(关于人际关系在职业生涯中的重要性)

视频笔记

这一步主要讲解你作为 Web 开发者编写代码时需要用到的技术细节。我差点忘了制作这个视频,但你一定不要忘记学习这些内容。观看视频,了解它的重要性。

终端

  • Jesse Showalter的《如何使用命令行》
  • 终端设计师指南(别担心。尽管它说它是为设计师准备的,但它仍然是开发人员的有用资源。)
  • 对于 Windows 10 用户:如何在 Windows 中激活 Bash
  • 对于其他 Windows 用户,安装 Windows 版 Git 时即可获取 Bash shell。只需确保在安装程序中选择了“Git Bash”即可。
  • 附言:Bash 只是一个特定的 Unix shell。实际上,它有点像标准的 Unix shell。很多时候,“shell”、“终端”和“命令行”可以互换使用。

Git

部署

没有哪门课程可以完全教你部署,因为部署过程会根据你的目标而有所不同。最好的办法是查看你计划部署的文档。以下是一些选择:

希望你喜欢这个视频!欢迎在 YouTube评论区提问或留言,或者直接在 Twitter 上与我联系。订阅 YouTube,这样你就不会错过接下来的路线图内容!

如果你真的想成为一名 Web 开发者,你需要先找到自己的驱动力。我有一个免费的速成课程,希望能对你有所帮助。

抄本

大家好,我是 Devon,今天给大家带来一个差点没能制作出来的视频。我回顾了一下之前的视频,发现少了这个。我们来聊聊 Unix 终端、Git 和部署。

除了会写代码之外,成为一名 Web 开发者还需要很多技能,而且事实证明,这不仅仅体现在软技能上,还体现在技术层面。在本系列的后续文章中,我们将介绍一些非常重要的软技能,当然,也有一些围绕 HTML、CSS 和 JavaScript 的技术技能,能够成就一名成熟的 Web 开发者。

今天,我将讨论其中三个我认为在开始实际工作之前非常有必要了解和熟悉的方面。首先,我们来谈谈 Unix 终端。许多 Web 服务器运行在 Linux 上。如果您需要登录 Web 服务器并进行一些配置更改,或者在极少数情况下,只是实时更新代码,那么您需要了解 Linux 命令行以及如何使用它,以便能够完成这些操作。

这只是一个简单的例子,说明在日常开发任务中你需要使用命令行完成哪些工作。如果你想启动一个 React 应用,你需要使用 React 命令行界面(CLI)来实现,运行“create-react-app”命令来启动你的新 React 项目。

您还将使用命令行来完成我们稍后将在本视频中讨论的功能,即使用 Git 进行版本控制。您不必使用命令行即​​可使用 Git 版本控制,但如果您使用 GUI,则会错过一些功能,并且您可能无法像使用命令行那样清楚地了解其底层工作原理。

很多人可能会争辩说,了解 Unix 命令行对于成为 Web 开发人员来说并不是绝对必要的,我可以理解这些论点,但我的反驳是,如果你……除非你知道你将一直使用 Windows,否则我认为这可能是一项很好的技能。

如果你知道自己以后会一直用 Windows,那你看这些视频干什么?反正你可能也不需要我。找一些 Unix 命令行的优质资源有点难,但我找到了一个很棒的。这是 YouTube 上一个叫 Jesse Showalter 的家伙做的短视频,名字叫“如何使用命令行”。

他会在大约15分钟内引导你了解一些基本命令,并帮助你理解如何使用命令行浏览计算机的文件系统。这算是基础概念之一,也是有效使用命令行所需的基础技能之一。这是一个非常轻松的介绍,我认为他很好地引导了那些可能从未接触过Unix命令行的人。

我还找到了一篇关于如何使用 Unix 命令行的很棒的文本参考资料,叫做《终端设计师指南》。虽然我们不是设计师,但我仍然认为它很好地阐述了这些概念,并为那些不太熟悉命令行的人提供了快速参考。

最终,这种操作方式会成为你电脑的第二天性,你不再需要这些,但当你刚开始使用时,拥有这些资源来帮助你还是不错的。如果你使用的是 Windows,那么你可能会遇到一些困难,因为 Windows 并没有预装 Unix 命令行。

如果您运行的是 Windows 10,您可以激活它,我将在说明中提供一个链接,其中包含一些操作信息。如果您没有 Windows 10,您可以在安装 Windows 版 Git 时获得一个 Bash 命令行。因此,当您安装 Windows 版 Git 时,您将获得一个名为 Git Bash 的东西,您可以使用这个 Unix 命令行来执行大多数情况下使用原生 Unix 命令行可以完成的操作。

学习终端的关键在于投入时间。它可能会让人感觉不舒服,所以你必须坚持下去,用它来做一些你原本会用 GUI 做的事情。在做项目的时候,用它来做一些文件管理任务——删除文件、删除文件夹、创建新文件夹、重命名文件夹、重命名文件等等。用它来做一些这样的事情,即使速度会变慢,感觉……有点糟糕。

下一个我想和你聊的技能是版本控制。具体来说,我们会聊聊 Git,因为它是目前最流行的版本控制系统。如果你学会了 Git,那么你的水平应该就很高了。其他的就不用太担心了。

版本控制就像是代码的保险。当然,你也可以在不使用任何版本控制的情况下编写代码和开发网站,但让我给你举几个例子,说明对项目进行版本控制会非常有用。

想象一下,你想在一个项目中尝试一些实验性的东西,但又不确定结果会如何。如果你的项目启用了版本控制,你可以创建一个分支,这相当于项目的一条独立工作线。你可以在这个分支上探索和尝试你的实验。也许它会成功。如果成功,你可以将它合并回主分支,一切就都顺利了。然而,如果实验失败了,版本控制的魅力就显现出来了。因为如果实验失败了,如果你没有版本控制,那么希望你在开始实验之前保存了项目中所有文件的副本。或者,希望你的编辑器拥有多级撤销功能,你可以将修改过的每个文件撤消回之前的修改点,并且希望你知道那个修改点是什么样子,并且能够真正地到达那个修改点。

有了版本控制,就不必担心所有这些问题了——要么管理一组代表先前版本的单独文件,要么尝试撤消、撤消、撤消并回到原来的位置——我已经进行了几十年的隧道搜索,搜索从昨天到明天的每一个实例——你只需切换到你的主线分支,它就和你离开时的位置完全一样。

你所有的实验工作都在这个新分支上。你可以稍后再回到这个分支,也许你会发现一些让它工作的方法,然后你可以完成这项工作,或许再把它合并回去。但即使你没有这样做,你的主线分支仍然会像你开始实验之前一样工作。

这是第一种情况。第二种情况可能更常见。你正在添加一个非实验性的功能或修复一个错误,但你放弃了。这种情况经常发生,导致应用程序中的关键部分被破坏。如果你不使用版本控制,这时你就有麻烦了,因为你必须尝试回到之前的状态。

如果您使用版本控制,您可以查看日志中的各个提交——提交本质上是快照,当您说“好的,我想,我想保存这段代码的当前状态”时——您可以查看您的提交,并尝试找到项目中断之前的那个提交。或者,您也可以使用版本控制系统内置的工具。

比如 Git 有个叫做 bisect 的功能,可以让你对提交进行分治。基本上,你告诉它你之前知道的项目运行情况的最后一个点,它会把当前点和最后一个点的中间位置放进去,然后问:“好了,项目现在运行了吗?” 你回答是或否,然后它会把中间位置的两边都分治掉。

所以,如果你说“不,这里不行”,它会跳转到那个点和你知道它能正常工作的点之间的中间位置,然后在那里尝试。如果你说“是的,这里可以正常工作”,它会跳转到那个点和你当前点之间的中间位置,并询问它是否在那里正常工作。最终,你会找到项目崩溃的单个提交,然后你只需查看该提交,看看做了哪些更改,就能找出问题所在。如果你需要快速恢复某些功能并使其正常工作,你甚至可以切换回该提交,而通常情况下,这种情况是经常发生的。

GitHub 曾经有一个非常棒的 Git 交互式课程,但不知何故消失了。不过幸运的是,我们确实有一些非常好的资源。我发现最好的一个叫做 Git It,它是一个在电脑上运行的应用程序,可以引导你完成一个 Git 教程,而你实际上正在电脑上实时操作。你下载的应用程序会检查你的进度,确保你按照要求操作。它会给你指令,你去终端窗口输入 Git 命令,然后回到应用程序并说“验证”,它会检查并确保你按照要求操作。

它会带你完成整个教程。这样,当你完成教程时,你将对 Git 的版本控制有一个良好的理解。如果你真的想学习 Git,那么唯一的方法就是在每个项目中都使用它。当你真正开始工作时,你应该在每个项目中都使用它,所以现在就是养成这个习惯的最佳时机,你用得越多,你就会越熟练。

根据我的经验,我发现 Git 命令行中有数百甚至数千个 Git 命令,而我每天可能只会用到其中三个。所以我一直在用这些命令。偶尔我发现自己需要其他东西,就会去搜索一下。

所以你不必费力记住 Git 的整个命令行界面。你需要反复使用它,这样你经常使用的关键命令就会变成肌肉记忆,让你即使在睡觉时也能熟练地使用它们。

我最后想谈的技能是部署。我注意到新晋 Web 开发者的一个趋势是,很多项目从未正式发布,从未部署到任何地方。这不仅剥夺了人们在互联网上实时观看和欣赏你的作品的机会,也剥夺了你部署项目的经验,而这恰恰是至关重要的。我认为很多时候,训练营并没有很好地涵盖部署环节。他们只是敷衍了事。即使你认为自己最终的工作只是编写代码,然后将其交给其他人部署,并在某个服务器上搭建完成——也许你会这么做——我认为,将你参与的项目真正部署到某个地方,仍然体现了你对项目的极大毅力和投入。

如何学习部署是一个很难回答的问题,因为项目部署地点有很多,而且每个地点的部署方法都略有不同。我无法推荐任何资源来教你部署,但我建议你完成的每个项目,务必将其部署到某个地方,并且最好将每个项目部署到不同的地点(如果可以的话)。

对于静态 HTML 和 CSS 项目,或者仅在 HTML 和 CSS 之上运行前端 JavaScript 的项目,请尝试部署到 Netlify。它是一个很棒的静态网站托管服务提供商。尝试部署到 AWS 的 S3 服务。它是一个对象存储,也可以为静态网站提供公共网页。尝试将静态网站部署到 GitHub Pages。这是另一种选择,而且还有许多其他可以部署静态网站的地方。因此,只需确定您想要在哪里部署下一个项目,然后按照文档进行部署,并确保它可用,以便人们可以查看它,并知道它是一个真正的项目并且已经完成。

如果您正在构建非静态站点,并且项目运行着 Node 后端,则可以将其部署在 AWS 的 Elastic Beanstalk 上。您也可以将其部署在其他云服务提供商(例如 Google 或 Azure)上。您也可以尝试在 Heroku 上部署。学习的关键在于挑战自我——走出舒适区,部署到您从未部署过的地方,体验一下它是什么样子——并找到适合您项目的文档,无论您要部署到哪个目标。

我可能在上一个视频里说过那是最后一个技术视频,但我认为这实际上是这个系列的最后一个技术视频,我很高兴我又回到了它,因为我确实认为这些内容非常重要。它会让你作为一名开发者显得更加强大,尤其是在你打算从事自由职业的情况下。你可能是唯一一个。你可能是负责做所有这些事情的孤狼,所以这至关重要。但即使你打算找一份工作,我认为你能够拓展业务并完成一些其他任务,也表明你非常有主动性。

感谢您观看视频。请务必订阅,这样您就不会错过 2020 年开发者路线图的下一步,届时我会与您交流。

鏂囩珷鏉ユ簮锛�https://dev.to/raddevon/2020-web-developer-roadmap-step-4-learn-terminal-git-and-deployment-56pg
PREV
新 Web 开发者购买域名指南
NEXT
2020 年 Web 开发者路线图第一步:设定你的大目标