Git
Git is a version control system, written by Linus Torvalds, which is used to work on the Linux Kernel source code. Its support for rapid branching and merging make it the perfect choice for a Puppet implementation. Each commit has references to its parent commits; to reconstruct a branch, you only need to follow the trail back. We will be exploiting the rapid branch support to have environments defined from Git branches.
Tip
It is possible to use Git without a server and to make copies of repositories using only local Git commands.
In your organization, you likely have some version control software. The software in question isn't too important, but the methodology used is important. Long running branches or a stable trunk are the terms used in the industry to describe the development cycle. In our implementation, we will assume that development
and production
are long running branches. By long running we mean that these branches will persist throughout the lifetime of the repository...