在我很小的时候,我无意中进入了 C++ 的世界,并编写了我最喜欢的“Hello World”程序。我编译并执行了它,然后弹出一个确认“编程”成功的提示框。
然而,我从未走得更远,因为作为一个 12 岁的孩子,我的版本控制过程很糟糕。我会丢失源代码,然后在一周后回来重新创建一个新文件。我会用 C++ 做一些小事情并取得进展,但每次我这样做,基本上都是从头开始,因为我对保持对源代码的控制非常糟糕。
没有什么比每次构建时丢失所有进度更能扼杀您编写代码的雄心了。这个问题的解决方案是 Git,或者在这种情况下,特别是 GitHub。我们现在将使用第 3 部分中的这个小型 Terraform 部署,并使用 VSCode 内置终端上的几个基本 Git 命令将其放入 GitHub(有一个 VSCode Github 扩展可以执行此操作,但在依赖扩展为您执行此操作之前,最好先了解使用哪些 Git 命令来完成此类任务)。
您也可以使用操作系统的本机终端(CMD、Powershell、ZSH 等)执行这些步骤。
通过按“CTRL + `”(反引号,“1”左边的小键)在 VSCode 中打开终端
在这个新终端中,验证您是否处于正确的文件目录中(默认情况下应该是)。在下一步中,我们将在此文件夹中初始化 Git 存储库并开始跟踪代码的更改。如果这不是您的代码所在的目录,请将其更改为正确的目录。
我们现在要初始化 Git;要执行此操作,请输入: git init
Git 现在正在该目录中运行,但是它没有跟踪任何文件(或这些文件中的代码)。
Git 可以使用本地代码存储库以及远程代码存储库(“repo”)。在大多数专业设置中,您将使用 Github、Gitlab、Bitbucket 等服务的远程存储库……我们需要告诉 Git 将要跟踪的代码发送到哪里。为此,我们使用git remote add
。
其语法如下: git remote add origin https://github.com/owner/repo_name.git
分解一下: git remote add origin
指示 git 添加一个名为“origin”的远程仓库,并使用后面的 URL 作为此远程仓库的目标
就我而言,我在我的帐户下在 GitHub 上创建了一个新的(空)存储库,因此它看起来像这样: git remote add origin https://github.com/wellmadeoldfashioned/YT-single-server-arch-AWS.git
现在,我们可以继续告诉 git “跟踪”文件。要跟踪特定文件,我们可以执行以下操作: git add [filename]
或者要跟踪当前存储库中的所有内容,您可以执行以下操作: git add .
- 通常最好明确添加单个文件,而不是跟踪本地目录中的所有文件。
现在让我们添加我们的 terraform 文件;发出以下命令来执行此操作: git add main.tf
此时,您在上一步中添加的文件现在已“暂存” - 这意味着您已告诉 Git“复制这些文件的当前副本并准备将副本发送到存储库”(在本例中为远程存储库:Github)。
一旦文件被暂存,我们需要创建一个提交 - 把它想象成开发进度中的一个检查点,您可以在其中添加一条描述检查点的简短消息。
要暂存提交,我们使用git commit -m “[message_goes_here]”
- 传统上,在第一次提交时,您会使用类似“初始提交”的内容,但没有规则规定消息中的内容。一般来说,您希望简洁明了。例如,如果这是更新变量名称的提交,我们会说git commit -m “updated AMI variable to XYZ”
现在发出: git commit -m “initial commit”
- 您应该收到来自 Git 的几行反馈,如下所示:
这几乎完成了,但还没有完全完成。我们已经初始化了 Git,添加了远程仓库,指示 Git 跟踪特定文件,并暂存了对远程仓库的提交,但我们尚未将提交发送到远程仓库。
要发送提交(我们上面使用 Git commit 命令创建的“检查点”),你需要发出git push [remote-repo-name] [local-branch-name]
要找出远程存储库名称,我们需要回顾第 4 步,看看我们将其命名为“origin”。要找出本地分支名称,您可以发出git branch
,或者,如果您没有更改其默认设置,则主分支的名称将是“master”。
如您所见,我们确实在本地处理 master 分支。因此,要将代码推送到 Github,我们需要发出: git push origin master
在GitHub端检查,我们可以看到我刚刚发送的提交。
以及实际提交的更改:
希望这能帮助您开始使用 Git 和 GitHub。在这个工作演示中,为了简单起见,采取了一些捷径(例如不创建新分支来保留主分支、不合并更改、分叉等),但这些知识是学习这些内容的基础。
一旦你习惯了以这种方式使用 Git,你应该继续在不同的分支上工作,理解“HEAD”是什么以及如何操作它、分叉存储库、合并更改等……