-
Notifications
You must be signed in to change notification settings - Fork 7
/
.gitconfig
167 lines (139 loc) · 3.94 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
163
164
165
166
167
[alias]
a = add
b = branch
bl = blame
br = branch
c = commit
ca = commit --amend
ci = commit
cia = commit --amend
cl = clone
co = checkout
compare = log --left-right --graph --cherry-pick --date=relative --pretty=format:'%Cred%h%Creset %s %Cgreen(%an, %ad)%Creset'
count = shortlog -sn
cp = cherry-pick
cpa = cherry-pick --abort
d = diff
dc = diff --cached
f = fetch
g = grep
graph = log --graph --all --decorate --stat --date=iso
i = init
l = log -10 --date=human --pretty=format:'%Cred%h%Creset %s %Cgreen(%an, %ad)%Creset'
m = merge
o = overview
overview = log --all --no-merges --oneline -10 --date=relative --pretty=format:'%Cred%h%Creset%Cblue%d%Creset %s %Cgreen(%an, %ad)%Creset'
p = push
patch = --no-pager diff --no-color
pf = push -f
pl = pull
pu = push -u
r = remote
rb = rebase
rba = rebase --abort
rbc = rebase --continue
rbi = rebase --interactive
rbi2 = rebase --interactive HEAD~2
rbi3 = rebase --interactive HEAD~3
rbi5 = rebase --interactive HEAD~5
rbi10 = rebase --interactive HEAD~10
rbi20 = rebase --interactive HEAD~20
rbs = rebase --skip
recent = for-each-ref --count=10 --sort=-committerdate refs/heads/ --format="%(refname:short)"
ru = remote update
sh = show
s = status -sb
scoreboard = shortlog -sn
st = status
stash-all = stash save --include-untracked
t = tag
undo = reset --soft HEAD^
upstream = l HEAD..origin
wc = whatchanged -p
[branch]
# set up git pull to do a rebase instead of merge
autosetuprebase = always
[color]
diff = auto
status = auto
branch = auto
ui = auto
[color "diff-highlight"]
oldNormal = red
oldHighlight = 160 52
newNormal = green
newHighlight = 34 22
[color "diff"]
meta = yellow
frag = magenta
commit = yellow
old = red
new = green
whitespace = red reverse
[commit]
verbose = true
[core]
# For dealing with Windows projects
autocrlf = false
# Global gitignore
excludesfile = ~/.gitignoreglobal
# Make git rebase safer on OS X (http://www.git-tower.com/blog/make-git-rebase-safe-on-osx)
trustctime = false
# Glogal git attributes file
attributesfile = ~/.gitattributes
# Custom pager (wrapping long lines); Either `diff-highlight` (from
# git-contrib) or custom `diff-so-fancy` (if available)
pager = "if type diff-so-fancy >/dev/null 2>&1; then diff-so-fancy | less --tabs=4 -RFX; else diff-highlight | less -r; fi"
[diff]
# Detect renames of files
renames = true
[fetch]
# Disable fsck when pulling (some repos like rails have errors in them)
fsckobjects = false
# Will delete any local origin/* branches if they have been merged on remote
prune = true
[grep]
lineNumber = true
extendedRegexp = true
[init]
# Default git hooks (will be copied over to each newly cloned repo)
templatedir = ~/.git_template
# Default branch is 'master'
defaultBranch = master
[filter "media"]
# Handle large media files in Git without storing the media in Git itself
clean = git-media-clean %f
smudge = git-media-smudge %f
[mergetool]
# automatically launch merge tool without displaying a prompt
prompt = false
[mergetool "vimdiff"]
# 3-way, 4-screens merge (left here to be able to go back to it easily)
conflictstyle = diff3
path = vim
[mergetool "vim"]
# 3-screens fugitive.vim conflict resolution
cmd = vim -f -c \"Gvdiffsplit!\" \"$MERGED\"
[merge]
tool = vim
[rerere]
enabled = 1
[pull]
# always rebase local changes on pulls
rebase = true
[push]
# Push current branch even if you've never pushed it before
default = current
followTags = true
# Automatically set 'origin' as upstream when doing first push of a branch
autoSetupRemote = true
[rebase]
# will add --autosquash setting to rebases
autosquash = true
[transfer]
# do some extra checks when sending local changes
fsckobjects = true
[user]
# The name and e-mail address will be used to identify you in the commits
name = "Paweł Gościcki"
email = [email protected]