-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitconfig
141 lines (110 loc) · 3.62 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
[alias]
st = status
br = branch
co = checkout
di = diff
dc = diff --cached
ds = diff --staged
ci = commit
am = commit --amend
amend = commit --amend -C HEAD
undo = reset --soft HEAD^
cp = cherry-pick
lg = log -p
rb = rebase
lod = log --graph --decorate --format='%C(yellow)%h %Cblue%d %Cred%ad %Creset%s' --date=short
lol = log --graph --decorate --pretty=oneline --abbrev-commit
lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
hist = log --pretty=format:'%C(yellow)%h%C(reset) %ad | %C(75)%s%C(reset) %C(yellow)%d%C(reset) [%an]' --graph --date=short --branches --all
standup = "!sh -c \"git log --since '1 day ago' --oneline --author $USER\""
# Show files ignored by git:
ign = ls-files -o -i --exclude-standard
# search commits by message
search = "!f() { git log --all --grep=$1; }; f"
# Find Merge — найти мерж-коммит, с которым был влит коммит. Пример как `git fm 0c23f92`
# Тред в рассылке: https://ml.yandex-team.ru/thread/2370000000877081412/
fm = "!sh -c 'git show `git rev-list --ancestry-path $0..dev --merges | tail -f`'"
[core]
editor = nvim
pager = delta
whitespace=fix,-indent-with-non-tab,trailing-space,cr-at-eol,space-before-tab
# Use custom `.gitignore` and `.gitattributes`.
excludesfile = ~/.gitignore
attributesfile = ~/.gitattributes
# Make `git rebase` safer on macOS.
# More info: <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/>
trustctime = false
# Prevent showing files whose names contain non-ASCII symbols as unversioned.
# http://michael-kuehnel.de/git/2014/11/21/git-mac-osx-and-german-umlaute.html
precomposeunicode = false
# Speed up commands involving untracked files such as `git status`.
# https://git-scm.com/docs/git-update-index#_untracked_cache
untrackedCache = true
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true
side-by-side = true
[merge]
tool = vimdiff #ws
log = true
[mergetool "ws"]
cmd = webide merge $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE") $(cd $(dirname "$BASE") && pwd)/$(basename "$BASE") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")
trustExitCode = true
[difftool "ws"]
cmd = webide diff $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE")
trustExitCode = true
[branch]
autosetuprebase = always
[push]
default = current
[color]
diff = yes
ui = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow
frag = magenta
old = red
new = green
whitespace = red reverse
[color "status"]
added = yellow
changed = green
untracked = cyan
[diff]
noprefix = true
[tag]
sort = version:refname
[help]
autocorrect = 1
[filter "lfs"]
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
[fetch]
prune = true
[rebase]
autosquash = true
[pull]
default = current
# URL shorthands
[url "[email protected]:"]
insteadOf = 'gh:'
pushInsteadOf = 'github:'
pushInsteadOf = 'git://github.com/'
[url "git://github.com/"]
insteadOf = 'github:'
[url "[email protected]:"]
insteadOf = 'gst:'
pushInsteadOf = 'gist:'
pushInsteadOf = 'git://gist.github.com/'
[url "git://gist.github.com/"]
insteadOf = 'gist:'
[user]
email = [email protected]
name = cherninely