-
-
Save ibraah88/ace8577e6a3ea4f9f568da4ed26b5368 to your computer and use it in GitHub Desktop.
Nice, useful global Git configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Put this in your ~/.gitconfig or ~/.config/git/config | |
# Windows users: "~" is your profile's home directory, e.g. C:\Users\<YourName> | |
[user] | |
name = Your Full Name | |
email = [email protected] | |
[color] | |
# Enable colors in color-supporting terminals | |
ui = auto | |
[alias] | |
st = status | |
ci = commit | |
lg = log --graph --date=relative --pretty=tformat:'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%an %ad)%Creset' | |
oops = commit --amend --no-edit | |
review-local = "!git lg @{push}.." | |
# Or pre 2.5, as we didn't differential push and upstream in shorthands: | |
# review-local = lg @{upstream}.. | |
[core] | |
# Don't paginate output by default | |
pager = cat | |
# | |
# Out of luck: on Windows w/o msysGit? You may have Notepad++… | |
# editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin | |
# | |
# If you want to use Sublime Text 2's subl wrapper: | |
# editor = subl -w | |
# | |
# Or Atom, perhaps: | |
# editor = atom --wait | |
# | |
# Sublime Text 2 on Windows: | |
# editor = 'c:/Program Files (x86)/Sublime Text 2/sublime_text.exe' -w | |
# | |
# Sublime Text 3 on Windows: | |
# editor = 'c:/Program Files/Sublime Text 3/subl.exe' -w | |
# | |
# Don't consider trailing space change as a cause for merge conflicts | |
whitespace = -trailing-space | |
[diff] | |
# Use better, descriptive initials (c, i, w) instead of a/b. | |
mnemonicPrefix = true | |
# Show renames/moves as such | |
renames = true | |
# When using --word-diff, assume --word-diff-regex=. | |
wordRegex = . | |
# Display submodule-related information (commit listings) | |
submodule = log | |
[fetch] | |
# Auto-fetch submodule changes (sadly, won't auto-update) | |
recurseSubmodules = on-demand | |
[grep] | |
# Consider most regexes to be ERE | |
extendedRegexp = true | |
[log] | |
# Use abbrev SHAs whenever possible/relevant instead of full 40 chars | |
abbrevCommit = true | |
# Automatically --follow when given a single path | |
follow = true | |
[merge] | |
# Display common-ancestor blocks in conflict hunks | |
conflictStyle = diff3 | |
[mergetool] | |
# Clean up backup files created by merge tools on tool exit | |
keepBackup = false | |
# Clean up temp files created by merge tools on tool exit | |
keepTemporaries = false | |
# Put the temp files in a dedicated dir anyway | |
writeToTemp = true | |
# Auto-accept file prompts when launching merge tools | |
prompt = false | |
[pull] | |
# This is GREAT… when you know what you're doing and are careful | |
# not to pull --no-rebase over a local line containing a true merge. | |
# rebase = true | |
# WARNING! This option, which does away with the one gotcha of | |
# auto-rebasing on pulls, is only available from 1.8.5 onwards. | |
rebase = preserve | |
[push] | |
# Default push should only push the current branch to its push target, regardless of its remote name | |
default = upstream | |
# When pushing, also push tags whose commit-ishs are now reachable upstream | |
followTags = true | |
[rerere] | |
# If, like me, you like rerere, uncomment these | |
# autoupdate = true | |
# enabled = true | |
[status] | |
# Display submodule rev change summaries in status | |
submoduleSummary = true | |
# Recursively traverse untracked directories to display all contents | |
showUntrackedFiles = all | |
[color "branch"] | |
# Blue on black is hard to read in git branch -vv: use cyan instead | |
upstream = cyan | |
[tag] | |
# Sort tags as version numbers whenever applicable, so 1.10.2 is AFTER 1.2.0. | |
sort = version:refname | |
[versionsort] | |
prereleaseSuffix = -pre | |
prereleaseSuffix = .pre | |
prereleaseSuffix = -beta | |
prereleaseSuffix = .beta | |
prereleaseSuffix = -rc | |
prereleaseSuffix = .rc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment