.gitignore for Terraform

Terraform state files, variable files with secrets, and provider plugins.

Quick presets

Selected (1)
Terraform
Your selections never leave your browser. Generation happens entirely client-side.
Raw

14 patterns · 339 B

# Generated by DevZone Tools — https://devzone.tools/tools/gitignore-generator
# Templates: Terraform
# 2026-04-20

# ---- Terraform ----
# Terraform
.terraform/
.terraform.lock.hcl
*.tfstate
*.tfstate.*
crash.log
crash.*.log
*.tfvars
*.tfvars.json
override.tf
override.tf.json
*_override.tf
*_override.tf.json
.terraformrc
terraform.rc

What this template ignores

Ignores .terraform/ provider plugins, terraform.tfstate (state with sensitive resource data), *.tfvars (variable files often containing secrets), and crash logs.

Commonly paired with

Frequently asked questions

Do I need to commit .gitignore?
Yes — .gitignore should be committed to the repository so all collaborators benefit from the same ignore rules.
How do I add custom patterns?
Open your .gitignore file and add the pattern on a new line. Use # for comments, * for wildcards, / to match directories, and ! to un-ignore a previously ignored path.
How do I ignore a file that is already tracked?
Adding a file to .gitignore does not remove it from tracking if it was previously committed. Run: git rm --cached <file> to stop tracking it without deleting the file locally.
Should I commit terraform.tfstate?
Never commit tfstate locally — use remote state (S3, Terraform Cloud) with state locking. tfstate can contain plaintext secrets.
Should I commit .terraform.lock.hcl?
Yes — .terraform.lock.hcl pins provider versions for reproducibility. Remove it from this ignore list if you follow this recommendation.

Looking for something else? Browse all templates →