-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitconfig
More file actions
85 lines (72 loc) · 2.51 KB
/
.gitconfig
File metadata and controls
85 lines (72 loc) · 2.51 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
# These settings are inspired by https://blog.gitbutler.com/how-git-core-devs-configure-git/
#
# They are meant to be universal, leaving out the committer information to conditionally
# included files depending on project directories.
[core]
# Automatically handle line ending style
autocrlf = input
# Global ignore rules
excludesFile = ~/.gitignore.global
[init]
# New repos start with this default branch instead of master
defaultBranch = main
[branch]
# Sort branches by most recent commits
sort = -committerdate
[tag]
# Sort tags representing versions according to semver semantics
sort = version:refname
[column]
# Enable column output on terminal
ui = auto
[status]
# Don't like to always see untracked files in output
showUntrackedFiles = no
[diff]
# Better diff algorithm
algorithm = histogram
# Color moved lines
colorMoved = plain
# Use path prefixes, that are easier to interpret than the default a/b
mnemonicPrefix = true
# Enable file rename detection
renames = true
[push]
# Simple push (push to same branch name on remote)
default = simple
# Automatically setup remote tracking
autoSetupRemote = true
# Push local tags which are contained in pushed commits history
followTags = true
[fetch]
# Prune remote branches and tags on fetch
prune = true
pruneTags = true
[merge]
# Use neovim as the merge tool of choice
tool = nvimdiff
[rerere]
# Enable recording of conflict resolutions and automatically
# add resolved file conflicts to the index
enabled = true
autoupdate = true
[include]
# Include local configs, which are host specific and/or sensitive
path = ~/.gitconfig.local
path = ~/.gitconfig.secrets
# Include my private committer information on my public GitHub repos
[includeIf "gitdir:~/Projects/GitHub/punycode/"]
path = ~/.gitconfig.punycode
[includeIf "gitdir:~/Projects/Private/"]
path = ~/.gitconfig.punycode
[includeIf "hasconfig:remote.*.url:git@github.com:punycode/**"]
path = ~/.gitconfig.punycode
[alias]
amend-here = commit --amend -C HEAD
hist = log --pretty=format:\"%h %ai | %s%d [%an]\" --graph --date=short
last = log -1 HEAD
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --abbrev=8
pfusch = push --force-with-lease
recent = branch --sort=-committerdate --format=\"%(committerdate:relative)%09%(refname:short)\"
stash--unapply = !git stash show -p | git apply -R
diff-nows = diff --ignore-space-at-eol -b -w --ignore-blank-lines