現場実践|Gitバージョン管理

インフラエンジニアのためのGit入門|IaCコード管理とチーム開発の基礎

「Gitってコードを書く人だけのものじゃないの?」——インフラエンジニアがTerraform・Ansible・シェルスクリプトのコードをGitで管理する方法・基本コマンド・GitHubでのチーム開発フローを解説します。

読了目安:約18分更新日:2026年3月

💡 IaCの普及でインフラエンジニアもGitは必須スキルになりました。「Terraformコードをコピペして管理していた」時代は終わり、Gitでのバージョン管理・レビュー・差分確認が現代のインフラ管理の標準です。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

GitとGitHubを使ったインフラコード管理を複数案件で実践してきた立場から解説します。

1. インフラエンジニアがGitを使う場面

  • Terraformコードの管理:インフラ変更の履歴管理・ブランチでの変更テスト・マージリクエストでのレビュー
  • Ansibleのplaybook管理:サーバー設定変更の履歴を残す・複数人での同時編集の競合を防ぐ
  • Kubernetes/ECSのマニフェスト管理:デプロイ設定をGitで管理してGitOpsを実現する
  • シェルスクリプト・Python自動化スクリプト:運用スクリプトをGitHubで管理することでポートフォリオにもなる

2. インフラ作業で使う基本コマンド

# リポジトリのクローン
git clone https://github.com/user/infra.git

# 変更の確認
git status
git diff

# 変更をコミット
git add .
git commit -m "feat: add S3 bucket for log storage"

# プッシュ・プル
git push origin main
git pull origin main

# ブランチ操作
git checkout -b feature/add-vpc
git merge feature/add-vpc
git branch -d feature/add-vpc

3. インフラ向けのGitフロー

1
mainブランチは本番環境の状態を反映
mainブランチのコードが「現在の本番インフラの状態」を表す。直接mainへのpushを禁止してPRマージのみを許可するブランチ保護を設定する。
2
変更はfeatureブランチで作業
「feature/add-s3-bucket」「fix/security-group-rule」等の説明的なブランチ名でブランチを切って作業する。
3
PRでterraform planの結果をレビュー
GitHub ActionsでPR時に自動でterraform planを実行して、適用される変更内容をPRのコメントに表示するCI/CDを整備する。

4. .gitignoreでシークレット情報を除外

# Terraformの.gitignore
.terraform/
*.tfstate
*.tfstate.backup
.terraform.lock.hcl
terraform.tfvars  # シークレットを含む変数ファイルは除外
*.pem             # SSH秘密鍵は絶対に除外
📌 この記事のポイント
  • IaC普及でインフラエンジニアもGitは必須スキル。Terraform・Ansible・マニフェストの管理に使う
  • 基本コマンド(status/diff/add/commit/push/pull/branch)をまず手を動かして覚える
  • mainブランチはブランチ保護・featureブランチで作業・PRでterraform planをレビューが標準フロー

キャリアの疑問、一緒に解決しませんか?

Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※Gitのコマンドはバージョンにより異なります。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:経営/個人事業/アパレル