You can ignore entire directories, just by including their paths and putting a / on the end:
1
2
node_modules/
logs/
in .gitignore:
folder/
# Ignore all directories, and all sub-directories, and it's contents:
*/*
#Now ignore all files in the current directory
#(This fails to ignore files without a ".", for example
#'file.txt' works, but
#'file' doesn't):
*.*
#Only Include these specific directories and subdirectories:
!wordpress/
!wordpress/*/
!wordpress/*/wp-content/
!wordpress/*/wp-content/themes/
!wordpress/*/wp-content/themes/*
!wordpress/*/wp-content/themes/*/*
!wordpress/*/wp-content/themes/*/*/*
!wordpress/*/wp-content/themes/*/*/*/*
!wordpress/*/wp-content/themes/*/*/*/*/*
Put .gitignore in the working directory. It doesn't work if you put it in the .git (repository) directory
$ ls -1d .git*
.git
.gitignore
# Open git bash in the directory you wanna create .gitignore
# run command:
$ touch .gitignore
# there you go
### 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