Name and email address
Each commit you make has your name and email address attached to it. Git will automatically configure these based on your username and hostname, but this information is usually not a good identifier. It is a good idea to set your real name and email address so that your commits can be identified easily.
git config --global user.name "Your Name"
git config --global user.email you@yourdomain.com
Global ignore file
Often there are files or directories that you want Git to ignore globally. These are probably created automatically by your IDE or operating system. Git’s core.excludesfile
config allows you to write a global .gitignore so that you don’t have to fill local .gitignore files with clutter.
git config --global core.excludesfile /path/to/.gitignore_global
Enable coloured output
git config --global color.ui true
Prevent line ending issues
On Linux and Mac
git config --global core.autocrlf input
On Windows
git config --global core.autocrlf true
See http://help.github.com/line-endings/ for more information.
Add SVN-like shortcuts
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.br branch
Better compression
git config --global core.compression 9
If you find that Git is taking too long to compress objects, you can play around with this value. A value of 0 tells Git to use no compression. Values 1-9 are various speed/size trade-offs where 1 is the fastest and 9 provides the best compression. A value of -1 lets zlib decide which compression level to use.
Automatically rebase pulls
git config --global branch.autosetuprebase always
You can avoid having messy “Merge branch ‘master’ into …” commits by rebasing every time you pull. This configuration item essentially performs a git pull --rebase
every time you do git pull
.