Working with infrastructure code is very similar to working with software code. Countless books and methods exist on the subject and approaches are usually very opinionated.
A simple workflow I propose to use here for our infrastructure-as-code work is based on what's called the GitHub Flow (https://guides.github.com/introduction/flow/):
To step through this recipe, you will need the following:
An account on some Git hosting (self-hosted or commercial)
A working Terraform installation
An AWS account with an SSH key configured in Terraform (refer to the Chapter 2, Provisioning IaaS with Terraform recipes)
An Internet connection
Start by creating a new repository for use with your team. Use any service that works for you: GitLab, GitHub, BitBucket, and others. This example uses GitHub.