aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/home/.config/git/config
blob: 0ead8e7c45c2a07ffa9b4dabd0ffacd3ee58a909 (plain) (blame)
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
[user]
    email = sommerfeld@sommerfeld.dev
    name = sommerfeld
    signingkey = 3298945F717C85F8
[push]
    autoSetupRemote = true
    followTags = true
    gpgSign = if-asked
[core]
    whitespace = fix,trailing-space,cr-at-eol
    autocrlf = input
    pager = delta
[branch]
    sort=-committerdate
[web]
    browser = librewolf
[diff]
    tool = nvimdiff
    algorithm = histogram
    colorMoved = default
    mnemonicPrefix = true
    relative = true
    renameLimit = 10000
[difftool]
    prompt = false
    trustExitCode = true
[pager]
    difftool = true
[difftool "nvimdiff"]
    cmd = $EDITOR -d $LOCAL $REMOTE
[difftool "difftastic"]
    cmd = difft "$MERGED" "$LOCAL" "abcdef1" "100644" "$REMOTE" "abcdef2" "100644"
[rebase]
    autoStash = true
[fetch]
    recurseSubmodules = on-demand
    prune = true
[pull]
    ff = only
[merge]
    tool = conflictmarker
    conflictstyle = zdiff3
[merge "mergiraf"]
    name = mergiraf
    driver = mergiraf merge --git %O %A %B -s %S -x %X -y %Y -p %P
[mergetool]
    keepTemporaries = false
[mergetool "conflictmarker"]
    cmd = $EDITOR "$MERGED"
[commit]
    gpgsign = true
[tag]
    gpgSign = true
[status]
    showUntrackedFiles = all
    submoduleSummary = true
[help]
    autocorrect = 1
[log]
    abbrevCommit = true
[interactive]
    singleKey = true
    diffFilter = delta --color-only
[format]
    signOff = true
[advice]
    detachedHead = false
    skippedCherryPicks = false
[delta]
    navigate = true
    features = gruvmax-fang zebra-dark
    dark = true
    #side-by-side = true
    line-numbers = true
    relative-paths = true
    hyperlinks = true
[alias]
    cl = clone
    br = branch -vv
    c = commit
    ca = commit --amend --no-edit
    cp = cherry-pick
    sw = switch --recurse-submodules
    swc = switch --recurse-submodules -c
    swd = switch --recurse-submodules -d
    rt = restore
    res = reset
    s = status --branch --short
    m = merge
    mt = mergetool
    ff = merge --ff-only
    r = rebase
    rb = rebase
    ri = rebase -i
    p = push
    fp = push --force-with-lease
    f = fetch
    fa = fetch --all
    d = diff
    staged = diff --cached
    dt = difftool
    a = add
    stage = add
    st = add
    sub = submodule
    subf = submodule foreach
    re = remote -v
    ra = remote add
    rs = remote set-url
    rr = remote remove
    st = stash
    sp = stash pop
    sd = stash drop
    sl = stash list
    ss = stash show
    del = branch -D
    unstage = reset HEAD --
    last = log -1 HEAD
    undo = reset --hard
    l = log --abbrev-commit -200 --graph --date=short --pretty=oneline
    update=!git fetch && git merge --ff-only
    fr=!git fetch && git rebase
    find-merge = "!sh -c 'commit=$0 && branch=${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"
    gone = !git for-each-ref --format '%(refname:short) %(upstream:track)' | awk '$2 == \"[gone]\" {print $1}' | xargs -r git branch -D
    ab=absorb --and-rebase
    # `git log` with patches shown with difftastic.
    dl = -c diff.external=difft log -p --ext-diff
    ds = -c diff.external=difft show --ext-diff
    dft = -c diff.external=difft diff
    path = config-work
[includeIf "gitdir:~/doxfiles/.git"]
    path = config-personal