Do you manually back up every file before you change it? And do you invent creative file name extensions such as
_you when you try to collaborate a file? If you answer yes to any of these, it's time to rethink your processes.
A version control system (VCS) helps you stay sane when dealing with important files and collaborating with them.
Using version control is a fundamental part of any infrastructure automation. There are multiple solutions (some free, some paid) to manage source version control, including Git, SVN, Mercurial, and Perforce. Due to its popularity among the Chef community, we will be using Git. However, you could easily use any other version control system with Chef.
Don't even think about building ...