使用 Git 进行版本控制
将 Terraform 配置与 Git 集成,以实现版本控制、分支管理、合并和协作开发。
使用 Git 进行版本控制 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。
用于基础设施的 Git
以基础设施即代码(IaC)的方式管理基础设施,意味着将基础设施配置视为软件代码。与软件一样,这些配置也能从版本控制中获得很大帮助。
Git 是最流行的版本控制工具。它可以帮助您跟踪更改、与队友协作,并在 Terraform 出现问题时恢复到之前的版本。
在 Terraform 中初始化 Git
要开始跟踪 Terraform 项目,首先需要在项目的根目录中初始化 Git 仓库。这会创建一个隐藏的 .git 文件夹。
假设您已经准备好了一个 main.tf 文件。
git init暂存并提交代码
创建或修改 Terraform 文件后,需要先将它们“暂存”(git add),然后“提交”(git commit),以便在仓库历史记录中保存这些更改。
每次提交都应代表一组具有明确说明的逻辑更改。
git add main.tf
git commit -m "Initial commit of main.tf"保护状态文件的私密性
Terraform 会创建状态文件(例如 terraform.tfstate)和临时目录(.terraform/),这些内容不应提交到 Git。它们包含敏感信息,还可能导致冲突。
请使用 .gitignore 文件告诉 Git 忽略哪些文件。
# Terraform specific files
.terraform/
*.tfstate
*.tfstate.*为新功能创建分支
分支功能允许您与主代码库隔离,独立开发新功能或修复错误。这样可以避免破坏主开发线。
- 默认分支通常是
main或master。 - 请为特定任务创建新分支。
git branch
git checkout -b add-s3-bucket隔离开发
进入新分支(例如 add-s3-bucket)后,您可以修改 Terraform 配置,而不会影响 main 分支。
让我们在 main.tf 中添加一个简单的 S3 存储桶资源。
resource "aws_s3_bucket" "example" {
bucket = "my-unique-bucket-name-123"
}合并回主分支
当您在功能分支上完成并测试好功能后,就可以将其合并回 main 分支。这样会将您的更改整合到主代码库中。
首先切换回 main,然后合并您的功能分支。
git checkout main
git merge add-s3-bucket处理合并冲突
有时在合并时,Git 无法自动整合更改。这就是合并冲突。您需要手动编辑发生冲突的文件,选择要保留的更改。
解决冲突后,对合并后的文件执行 git add 和 git commit。
与远程仓库共享
为了协作,您需要将本地更改推送到远程仓库(例如 GitHub 或 GitLab)。其他人随后可以将这些更改拉取到他们的本地计算机。
这样,团队就可以同时处理同一个 Terraform 项目。
git remote add origin https://github.com/your-org/your-repo.git
git push -u origin mainGit 工作流检查
您刚刚向 main.tf 文件添加了一个新资源,并希望将这些更改保存到 Git 历史记录中。通常会使用哪些 Git 命令?
Terraform 中的 Git 回顾
在本课中,我们探讨了 Git 对管理 Terraform 配置的重要性。您学会了:
- 初始化 Git 仓库并跟踪更改。
- 使用
.gitignore排除敏感文件。 - 使用分支进行隔离开发。
- 合并更改并处理冲突。
- 使用远程仓库进行协作。
Git 可确保您的基础设施即代码得到版本控制、可审计并支持协作!
常见问题解答
「使用 Git 进行版本控制」课时是免费的吗?
是的 — 「使用 Git 进行版本控制」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「使用 Git 进行版本控制」这节课中我会学到什么?
将 Terraform 配置与 Git 集成,以实现版本控制、分支管理、合并和协作开发。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「使用 Git 进行版本控制」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。