Forktocat

Your unofficial guide to dotfiles on GitHub.

Home
Tutorials
General-purpose utilities
Tool-specific frameworks
Bootstrap repositories
Inspiration
Tips and tricks
FAQ

Tips and tricks

Don’t ignore your .gitignore

GitHub has a great collection of .gitignore templates for a wide range of languages and editors. We recommend Simon Whitaker’s gitignore-boilerplates to help you manage them.

Embrace submodules / subtrees

Consider using Git submodules as you start to add 3rd party frameworks, scripts, and plugins. Submodules make managing dotfile dependencies so much easier.

If you get fed up with submodules, many people prefer git-subtree, which lets you merge subtrees (other repositories) into one Git repository, and later split and push changes back out.

Different branches for different boxes

If you use multiple machines that are slightly different, you can have a branch for each one and pull changes between them. For example, you may want to use your text editor configuration on both mac and linux hosts, but need different shells settings on each.