Default gitconfig setup
Last active
August 17, 2019 01:54
-
-
Save netravnen/b94410ca11def19b5461108b1d198d3d to your computer and use it in GitHub Desktop.
My global gitconfig
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
[user] | |
# Insert ID for GPG key being used for signing git commits | |
#signingkey = <GPG_KEY_ID> | |
useConfigOnly = true | |
# Name to use for commits | |
#name = FULLNAME | |
# E-mail to use for commits | |
#email = [email protected] | |
[credential] | |
# If using https: on linux. Enable credential.helper to store logins. | |
#helper = store | |
# If using https: on Windows Enable credential.helper to store logins. | |
#helper = manager | |
[commit] | |
# Set to true if commits should be gpg signed by default | |
gpgsign = false | |
[format] | |
commitMessageColumns = 72 | |
# Adds `Signed-off-by` to end of commit messages. If set to true | |
# adds line by default. Can also be added on case-by-case with | |
# `-s/--signoff` switch when running `git commit`. | |
signoff = false | |
[gpg] | |
# Windows specific config - Uncomment to use. | |
#program = C:\\Program Files (x86)\\GnuPG\\bin\\gpg.exe | |
# Linux/BSD specific config - Uncomment to use. | |
#program = /usr/bin/gpg | |
[core] | |
quotepath = false | |
excludesfile = ~/.gitignore_global | |
autocrlf = input | |
# Change to fx. vim or something else for default editor when writing commit messages. | |
editor = nano | |
#editor = vim | |
# If you prefer using Notepad++ on Windows, uncomment this and comment out editor above. | |
#editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin | |
whitespace = fix,-indent-with-non-tab,trailing-space,cr-at-eol | |
safecrlf = false | |
[web] | |
browser = googlechrome | |
[pack] | |
# Avoid large memory utilization on shared servers / shell accounts | |
windowMemory = 25m | |
packSizeLimit = 25m | |
threads = 1 | |
deltaCacheSize = 25m | |
[filter "lfs"] | |
required = true | |
clean = git-lfs clean -- %f | |
smudge = git-lfs smudge -- %f | |
process = git-lfs filter-process | |
[filter "media"] | |
clean = git-media-clean %f | |
smudge = git-media-smudge %f | |
[log] | |
mailmap = true | |
[mailmap] | |
file = ~/.mailmap | |
[push] | |
default = matching | |
[pull] | |
rebase = true | |
[rebase] | |
autoStash = true | |
[merge] | |
log = true | |
ff = false | |
renormalize = true | |
verbosity = 4 | |
tool = winmerge | |
[mergetool] | |
keepBackup = false | |
prompt = false | |
[url "https://bitbucket.org/"] | |
insteadOf = bb: | |
[url "https://github.com/"] | |
insteadOf = gh: | |
[url "https://gist.github.com/"] | |
insteadOf = gist: | |
[url "https://gitlab.com/"] | |
insteadOf = gl: | |
[url "[email protected]:"] | |
insteadOf = dn42: | |
[url "https://git.data.coop/"] | |
insteadOf = coop: | |
[color] | |
ui = auto | |
[color "branch"] | |
current = yellow bold | |
local = green bold | |
remote = cyan bold | |
[color "diff"] | |
meta = yellow bold | |
frag = magenta bold | |
old = red bold | |
new = green bold | |
whitespace = red reverse | |
[color "status"] | |
added = green bold | |
changed = yellow bold | |
untracked = red bold | |
[gitflow "prefix"] | |
feature = feature/ | |
release = release/ | |
hotfix = hotfix/ | |
support = support/ | |
versiontag = v | |
[remote "upstream"] | |
# Ensures we do not try to push to remotes named upsteam. | |
pushurl = nothing | |
[alias] | |
a = add --all | |
ai = add -i | |
############# | |
ap = apply | |
as = apply --stat | |
ac = apply --check | |
############# | |
ama = am --abort | |
amr = am --resolved | |
ams = am --skip | |
############# | |
b = branch | |
ba = branch -a | |
bd = branch -d | |
bo = "!f() { git branch $1 && git checkout $1; }; f" | |
br = branch -r | |
############# | |
c = commit | |
ca = commit --all | |
cm = commit -m | |
cem = commit --allow-empty -m | |
cam = commit -am | |
cd = commit --amend | |
cad = commit --all --amend | |
ced = commit --allow-empty --amend | |
############# | |
d = diff | |
dc = diff --cached | |
dl = difftool | |
dlc = difftool --cached | |
dk = diff --check | |
dp = diff --patience | |
dck = diff --cached --check | |
############# | |
f = fetch | |
fo = fetch origin | |
fu = fetch upstream | |
############# | |
fp = format-patch | |
############# | |
fk = fsck | |
############# | |
g = grep -p | |
############# | |
l = log --oneline | |
lg = log --oneline --graph --decorate | |
lsg = log --show-signature -3 | |
############# | |
ls = ls-files | |
lsf = "!git ls-files | grep -i" | |
############# | |
m = merge | |
ma = merge --abort | |
mc = merge --continue | |
ms = merge --skip | |
merge-to = "!f() { git checkout $1 && git merge $2 && git checkout -; }; f" | |
############# | |
o = checkout | |
ob = checkout -b | |
############# | |
pr = prune --verbose | |
############# | |
ps = push | |
psf = push -f | |
psu = push -u | |
pso = push origin | |
psao = push --all origin | |
psfo = push -f origin | |
psuo = push -u origin | |
psom = push origin master | |
psfom = push -f origin master | |
psuom = push -u origin master | |
############# | |
pl = pull | |
plu = pull -u | |
plo = pull origin | |
plp = pull upstream | |
plom = pull origin master | |
plpm = pull upstream master | |
############# | |
pb = pull --rebase | |
pbo = pull --rebase origin | |
pbp = pull --rebase upstream | |
pbom = pull --rebase origin master | |
pbpm = pull --rebase upstream master | |
############# | |
rb = rebase | |
rba = rebase --abort | |
rbc = rebase --continue | |
rbi = rebase --interactive | |
rbs = rebase --skip | |
############# | |
re = reset | |
rh = reset HEAD | |
reh = reset --hard | |
rem = reset --mixed | |
res = reset --soft | |
rehh = reset --hard HEAD | |
remh = reset --mixed HEAD | |
resh = reset --soft HEAD | |
############# | |
r = remote | |
ra = remote add | |
rr = remote rm | |
rv = remote --verbose | |
rm = remote rename | |
rp = remote prune | |
rs = remote show | |
rao = remote add origin | |
rau = remote add upstream | |
rso = remote show origin | |
rsu = remote show upstream | |
rpo = remote prune origin | |
rpu = remote prune upstream | |
############# | |
s = status | |
sb = status --signoff -b | |
############# | |
sa = stash apply | |
sc = stash clear | |
sd = stash drop | |
sl = stash list | |
sp = stash pop | |
ss = stash save | |
sw = stash show | |
############# | |
w = show | |
wp = show --patch | |
wr = show --patch --no-color | |
############# | |
svnr = svn rebase | |
svnd = svn dcommit | |
svnl = svn log --oneline --show-commit | |
############# | |
assume = update-index --assume-unchanged --verbose | |
unassume = update-index --no-assume-unchanged --verbose | |
assumed = "!git ls-files -v | grep ^h | cut -c 3-" | |
unassumeall = !git assumed | xargs git update-index --no-assume-unchanged | |
assumeall = "!git st -s | awk {'print $2'} | xargs git assume" | |
replace = update-index --verbose --replace | |
############# | |
ours = "!f() { git checkout --ours $@ && git add $@; }; f" | |
theirs = "!f() { git checkout --theirs $@ && git add $@; }; f" | |
############# | |
whois = "!sh -c 'git log --include -1 --pretty=\"format:%an <%ae>\n\" --author=\"$1\"' -" | |
whatis = show -s --pretty='tformat:%h (%s, %ad)' --date=short | |
############# | |
barebranch = !sh -c 'git symbolic-ref HEAD refs/heads/$1 && git rm --cached -r . && git clean -xfd' - | |
flat = clone --depth 1 | |
subpull = !git submodule foreach git pull --tags origin master | |
subrepo = !sh -c 'filter-branch --prune-empty --subdirectory-filter $1 master' - | |
human = name-rev --name-only --refs=refs/heads/* | |
serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git | |
# Start a new Git repository with an empty 1st commit | |
start = !git init && git commit --allow-empty -m \"Initial commit\" | |
snapshot = !git stash save "snapshot: $(date)" && git stash apply "stash@{0}" | |
# Use to sign an existing git commit. Use: git resign <COMMIT_ID> | |
resign = "!re() { git rebase --exec 'git commit --amend --no-edit --no-verify --gpg-sign --signoff' -i $1; }; re" |
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
# Ignore thumbnails created by windows | |
Thumbs.db | |
desktop.ini | |
# Ignore files build by Visual Studio | |
*.obj | |
*.exe | |
*.pdb | |
*.user | |
*.aps | |
*.pch | |
*.vspscc | |
*_i.c | |
*_p.c | |
*.ncb | |
*.suo | |
*.tlb | |
*.tlh | |
*.bak | |
*.cache | |
*.ilk | |
*.log | |
*.dll | |
*.lib | |
*.sbr | |
# Ignore JetBrain programs working dir | |
.idea/ | |
# Avoid temp files - Linux/BSD style | |
*~ | |
.*.swp | |
# Ignore constant irritating macOS file | |
.DS_Store |
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
This is free and unencumbered software released into the public domain. | |
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. | |
In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and | |
successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. | |
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
For more information, please refer to <http://unlicense.org/> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment