touch .gitignore
$ git config --global core.excludesfile ~/.gitignore
$ echo '.idea' >> ~/.gitignore
$ touch .gitignore
### Terraform ###
# Local .terraform directories
**/.terraform/*
# .tfstate files
*.tfstate
# Crash log files
crash.log
# Ignore any .tfvars files that are generated automatically for each Terraform run. Most
# .tfvars files are managed as part of configuration and so should be included in
# version control.
#
# example.tfvars
# Ignore override files as they are usually used to override resources locally and so
# are not checked in
override.tf
override.tf.json
*_override.tf
*_override.tf.json
# Include override files you do wish to add to version control using negated pattern
# !example_override.tf
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
# example: *tfplan*
# End of https://www.toptal.com/developers/gitignore/api/terraform
The purpose of gitignore files is to ensure that certain files not tracked by git remain untracked.