-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path.gitconfig
115 lines (93 loc) · 2.66 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
[alias]
st = status
ci = commit
co = checkout
b = branch
amend = commit --amend
graph = log --oneline --graph
oneline = log --oneline
patch = add --patch
refresh = "!BRANCH=$(git symbolic-ref --short refs/remotes/origin/HEAD | cut -d/ -f2); git fetch origin \"$BRANCH\" && git rebase \"origin/$BRANCH\""
delete-merged = "!BRANCH=$(git symbolic-ref --short refs/remotes/origin/HEAD | cut -d/ -f2); git branch --merged | egrep -v \"(^\\*|$BRANCH)\" | xargs git branch --delete"
reword = commit --amend --only -- # Requires Git 1.7.11.3+
showmsg = log --format=%B -n 1
su = submodule update --init
# git-who tells you who the authors are. It is generally most useful when
# given a path:
#
# git who -- path/to/file
who = "!f() { \
git log --follow --ignore-all-space --pretty=format:'%Cgreen%<(30)%aN%Creset %Cblue<%aE>%Creset' \"${@-HEAD}\" \
| nl | sort --key=2 | uniq -c -f 1 | sort --numeric-sort --key=2 \
| awk '{$2=\"\"; print $0}'; \
}; f"
[color]
ui = auto
[color "diff-highlight"]
oldNormal = "red bold"
oldHighlight = "red bold 52"
newNormal = "green bold"
newHighlight = "green bold 22"
[color "status"]
untracked = blue
[core]
attributesfile = ~/.gitattributes
editor = nvim
excludesfile = ~/.gitexcludes # Global gitignore
# -i ignore case in searches
# -F auto exit if everything fits in one screen
# -M verbose prompt
# -R output ANSI color escape sequences in raw form
# -X disable sending termcap init and deinit to terminal
pager = zsh -c 'diff-highlight | less -iFMRX' -
precomposeunicode = true
[delta]
plus-style = "syntax #012800"
minus-style = "syntax #340001"
syntax-theme = Monokai Extended
navigate = true
[diff]
algorithm = histogram
# More readable diffs
# Added in Git 2.9.0
compactionHeuristic = true
[help]
autocorrect = 10
# $ git lgo
# WARNING: You called a Git command named 'lgo', which does not exist.
# Continuing under the assumption that you meant 'log'
# in 1.0 seconds automatically...
[log]
decorate = short
[merge]
conflictStyle = diff3
[pager]
show-branch = true
status = true # Use pager for `git status`
[protocol]
version = 2 # Added in Git 2.18.0.
[push]
default = current
[rebase]
autoSquash = true
autoStash = true
updateRefs = true
# Reuse recorded resolution of conflicted merges
# see `man git-rerere'
[rerere]
enabled = true
[status]
submodulesummary = true
[submodule]
fetchJobs = 4 # Added in Git 2.9.0.
[user]
email = [email protected]
name = Joe Lencioni
# Ignored by Git older than 1.7.10
[include]
path = .gitconfig.local
[merge "npm-merge-driver"]
name = automatically merge npm lockfiles
driver = npx npm-merge-driver merge %A %O %B %P
[init]
defaultBranch = main