-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdot_gitconfig
More file actions
121 lines (117 loc) · 3.39 KB
/
dot_gitconfig
File metadata and controls
121 lines (117 loc) · 3.39 KB
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
[user]
name = allig4t0r
login = allig4t0r
email = allig4t0r@gmail.com
signingkey = 2ADA57AAA9EC3F99
[commit]
gpgsign = true
[tag]
gpgSign = true
[gpg]
program = /opt/homebrew/bin/gpg
[alias]
a = add
amend = commit --amend --all -C HEAD
ap = a --patch
ab = !git absorb -r -b $(git pc)
apa = ap --all
bl = blame --show-stats --date iso
cl = clean -fdq
clx = cl -x
cm = commit -m
cma = commit -a -m
co = checkout
cob = co -b
conflicts = !git status --porcelain=2 | awk '$1 ~ /u/ {print $NF}'
df = diff --minimal
dfc = df --cached
dff = difftool
dffc = dff --cached
fixup = commit --fixup
ftch = fetch --tags --atomic
gcc = !git reflog expire --expire=all --stale-fix --all && git worktree prune --expire 0 && git gc --prune=all && git repack -a -d -b --depth 200 --window 100
gcca = !git gcc && git smf git gcc
l = log --date=short '--pretty=format:%C(auto)%h (%ad) %Cgreen%aN%Cblue%d%Creset: %s' --no-merges --abbrev-commit
lg = lgg --simplify-by-decoration
lgg = l --graph
psh = push --atomic
pshf = psh --force-with-lease
root = rev-parse --show-toplevel
rb = rebase --interactive --autosquash --autostash
rh = reset --hard
rs = restore -SW
rss = restore -S
rsw = restore -W
s = status -sb --find-renames
smf = submodule foreach --recursive
sw = switch
# Difftastic aliases, so `git dlog` is `git log` with difftastic and so on.
dlog = -c diff.external=difft log --ext-diff
dshow = -c diff.external=difft show --ext-diff
ddiff = -c diff.external=difft diff
# `git log` with patches shown with difftastic.
dl = -c diff.external=difft log -p --ext-diff
# Show the most recent commit with difftastic.
ds = -c diff.external=difft show --ext-diff
# `git diff` with difftastic.
dft = -c diff.external=difft diff
[merge]
tool = vimdiff
conflictstyle = diff3
[merge "mergiraf"]
name = mergiraf
driver = mergiraf merge --git %O %A %B -s %S -x %X -y %Y -p %P -l %L
[mergetool]
prompt = false
[diff]
# Set difftastic as the default difftool, so we don't need to specify
# `-t difftastic` every time.
algorithm = histogram
tool = difftastic
colorMoved = zebra
external = difft
[difftool]
# Run the difftool immediately, don't ask 'are you sure' each time.
prompt = false
[difftool "difftastic"]
# See `man git-difftool` for a description of MERGED, LOCAL and REMOTE.
cmd = difft "$MERGED" "$LOCAL" "abcdef1" "100644" "$REMOTE" "abcdef2" "100644"
# cmd = difft --skip-unchanged --tab-width 4 --context 5 "$LOCAL" "$REMOTE"
[push]
default = upstream
autoSetupRemote = true
[fetch]
parallel = 0
recurse-submodules = true
prune = true
pruneTags = true
[pull]
rebase = true
[transfer]
fsckObjects = true
[rerere]
enabled = 1
[color]
ui = true
[pager]
# Use a pager if the difftool output is larger than one screenful,
# consistent with the behaviour of `git diff`.
difftool = true
[core]
autocrlf = false
compression = -1
eol = lf
editor = "subl -n -w" #"code --wait"
preloadindex = true
untrackedCache = true
hooksPath = ~/.config/git/hooks
[pack]
compression = 9
threads = 8
[grep]
patternType = perl
fullName = true
[init]
defaultBranch = master
[includeIf "gitdir:/vobs/"]
path = /vobs/gitconfig