-
Notifications
You must be signed in to change notification settings - Fork 1
/
gitconfig
162 lines (123 loc) · 4.03 KB
/
gitconfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
[include]
path = local.gitconfig
[color]
branch = auto
diff = auto
status = auto
ui = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
[color "status"]
added = yellow
changed = green
untracked = cyan
[alias]
# make often typed commands more comfortable
st = status --short --branch
# more stat when you pull a branch in
pull = pull --stat
# show all currently ignored files
ignored = ls-files -o -i --exclude-standard
# commit always with a signoff-by and verbose so you
# can check the actual changes again
cs = commit --signoff --verbose
# checkout shortcut
co = checkout
# clean untracked files, untracked directories and everything else
# This produce a clean state, similar after fresh pull.
cleanall = clean --force -d -x
# list all new commits after you fetched, with stats, but excluding merges
lc = log ORIG_HEAD.. --stat --no-merges
# cherry-picked - from commit --
cpx = cherry-pick -x
# plain cherry-pick
cp = cherry-pick
# stash should save untracked files too
stash = stash --include-untracked
# show all available branches
gb = branch -av
# show nice git log graph of current branch, can use multiple branches as argument
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
# show nice git log graph of all branches
lga = log --color --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
log-graph = log --all --graph --decorate
diffstat = diff --stat -r
# Show last commit
last = log -1 HEAD
# Who contributed to this repository ?
who = shortlog -s --
# specialized grep command for C/C++ and programming
# cases at all use
g = grep --break --heading --line-number --show-function --before-context 10 --after-context 2
# aliases for merge stuff
merge = merge --progress --verbose
merge-log = "!f() { git log --stat "$1^..$1"; }; f"
# branch shortcut
br = branch
# git changelog HEAD...22f088c60301
changelog = "!f() { r=${1:-`git describe --tags --abbrev=0`..HEAD}; echo "Changelog for $(basename $(pwd)) $r"; git log --reverse --no-merges --format=' * %s' $r; }; f"
fancychange = "!f() { r=${1:-`git describe --tags --abbrev=0`..HEAD}; echo "Changelog for $(basename $(pwd)) $r"; git log --reverse --no-merges --format=' * %h %s (%an)' $r; }; f"
[core]
legacyheaders = false
excludesfile = $HOME/.gitignore
whitespace=fix,-indent-with-non-tab,trailing-space,cr-at-eol
editor = vim
[repack]
usedeltabaseoffset = true
[push]
default = upstream
# --follow-tags since 1.8.3. Superior to push --tags because it will
# a) push annotated tags, so non-annotated tags for local development to
# avoid tag clashes
# b) won't push annotated tags on unrelated branches
#followTags = true
[merge]
tool = vimdiff
log = true
summary = true
stat = true
renamelimit = 1279
[diff]
# Git diff will use (i)ndex, (w)ork tree, (c)ommit and (o)bject
# instead of a/b/c/d as prefixes for patches
mnemonicprefix = true
submodule = log
[rerere]
# Remember my merges
enabled = true
[apply]
whitespace = fix
[commit]
signoff = no
[fetch]
# remove stale branches
prune = true
[rebase]
autosquash = true
[status]
submoduleSummary = true
[grep]
extendRegexp = true
[credential]
helper = cache --timeout=3600
[sendemail]
smtpencryption = tls
smtpserver = ex5.mail.ovh.net
smtpserverport = 587
smtpuser = christian@breunig.cc
from = Christian Breunig <christian@breunig.cc>
suppresscc = all
[filter "lfs"]
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
[pull]
ff = only