A painless Git setup with an easy way to share Git configs and scripts within a company using GitHub Enterprise.
Enterprise Config for Git adds a new Git setup command (e.g. git mycompany
) to your Git config (via Git config alias) that configures a developer machine. The setup command checks the installed Git version, ensures Git LFS is installed properly, configures the user name and email based on the GitHub Enterprise profile, and configures the Git credential helper with a GitHub Enterprise token. It also adds an easy way to distribute company Git configs (e.g. Git push protection) and Git helper scripts (e.g. git adsk clone
).
Enterprise Config for Git supports Windows, Mac and Linux and a great number of shells such as BASH, ZSH, DASH, cmd.exe, and PowerShell.
Please find more details about Enterprise Config for Git in the corresponding Git Merge 2016 talk (slides).
In order to use Enterprise Config for Git you need to fork it to your GitHub Enterprise instance and adjust it for your company:
- Define the name of the setup command for your company
- Set the GitHub Enterprise server (e.g.
github.mycompany.com
) - Set Enterprise Config for Git organization/repository of your fork on your GitHub Enterprise server (e.g.
tools/enterprise-config
). Please ensure every engineer has read access. - Define your contact in case of errors
- Register an OAuth application on your GitHub Enterprise server and setup the Enterprise Config for Git client ID and secret.
- Configure your desired company email pattern.
- Create a production branch based on the master branch.
git clone --branch production <<YOUR ENTERPRISE CONFIG URL>> ~/.enterprise
git config --global include.path ~/.enterprise/config.include
git <<YOUR SETUP COMMAND>>
Any Git config you define in config.include
will be distributed to all your engineers with the setup command. Plus you can add shell scripts to the root directory of Enterprise Config for Git that are available to all engineers via the setup command (see the clone.sh
implementation as example for git adsk clone
)
Enterprise Config for Git is a fairly new project and not very mature at this point. In case of trouble or questions please create a GitHub issue and we will try to get back to you ASAP.