-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
.gitconfig
134 lines (116 loc) · 2.99 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
[user]
name =
email =
[apply]
# Detect whitespace errors when applying a patch
whitespace = fix
[init]
defaultBranch = main
[core]
excludesfile = ~/.gitignore
attributesfile = ~/.gitattributes
editor = nvim
pager = delta
trustctime = false
autocrlf = input
# [credential]
# helper = manager
[interactive]
diffFilter = delta --color-only --features=interative
[delta]
features = decorations
line-numbers = true
navigate = true
[delta "decorations"]
hunk-header-style = file line-number syntax
[gpg]
program = gpg
# format = x509
# [gpg "x509"]
# program = smimesign
[diff]
colorMoved = default
tool = nvim
[merge]
# Include summaries of merged commits in newly created merge commit messages
log = true
tool = nvim
conflictstyle = diff3
[mergetool]
prompt = false
[fetch]
prune = true
[push]
# Push to remote with same branch name as local
default = matching
# [pull]
# rebase = true
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[alias]
# View the current working tree status using the short format
s = status -s
a = add -A
c = commit -sm
p = push origin
pf = push origin -f
# Switch to a branch, creating it if necessary
co = checkout
go = "!f() { git checkout -b \"$1\" 2> /dev/null || git checkout \"$1\"; }; f"
get = "!git pull origin `git rev-parse --abbrev-ref HEAD`"
zip = "!f() { fmt=`date +'%Y-%m-%d'`; git archive --format=zip -9 -o "${fmt}.zip" HEAD; }; f"
release = "!f() { if [ -z \"$2\" ]; then msg=\"$1 released\"; else msg=$2; fi; git tag -s \"$1\" -m \"$msg\"; }; f"
df = diff
# View abbreviated SHA, description, and history graph
lg = log --graph --abbrev-commit --pretty=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%n%C(reset)%s %C(yellow)by %cn'
# Update all submodules
upmod = submodule -q foreach git pull -q origin
# Show verbose output about tags, branches or remotes
tags = tag -l
branches = branch -a
remotes = remote -v
# Interactive rebase with the given number of latest commits
reb = "!r() { git rebase -i HEAD~$1; }; r"
amend = commit --amend --reuse-message=HEAD
undo = reset HEAD~
# Subtrees
split = subtree split
subpl = subtree pull
subps = subtree push
[color]
ui = true
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow
frag = magenta
old = red
new = green
[color "status"]
added = yellow
changed = green
untracked = cyan
# 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:"
[url "[email protected]:"]
insteadOf = "gl:"
pushInsteadOf = "gitlab:"
pushInsteadOf = "git://gitlab.com/"
[url "git://gitlab.com/"]
insteadOf = "gitlab:"