The default Git branch is 'master', while the default Puppet environment is 'production'. How do I reconcile this?
The default Git branch name is 'master', but this is a somewhat arbitrary name and doesn't necessarily map to every use case. In the case of R10K it's generally easiest to rename 'master' to 'production'. You can rename the master branch with the following:
git branch -m master production
git push --set-upstream origin production
Note that this will only create a new branch called production with a copy of master - to change the default branch for all subsequent clones, read on.
When you clone a repository, Git checks out the currently active branch on the remote repository. Changing this for a non-bare repository is simple - just check out a different branch and subsequent clones from that repository will use that branch.
For bare repositories things are a bit more complex. Bare repositories do not have a working directory that can be checked out, but they do have a symbolic ref that serves the same role. To change this, run the following command:
git --git-dir /path/to/bare/repo symbolic-ref HEAD refs/heads/production
For Git hosting services where you may not cannot directly invoke commands, there are usually administrative tools to allow you to change the default branch on your remote repositories: