Repository navigation
Expand file tree
/
Copy pathdot_gitconfig
More file actions
87 lines (63 loc) · 2.88 KB
/
Copy pathdot_gitconfig
File metadata and controls
87 lines (63 loc) · 2.88 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
# This is Git's per-user configuration file.
[user]
name = Benjamin Krueger
[pull]
rebase = true
[merge]
ff = only
[push]
default = current # push current branch to same-name remote branch
autoSetupRemote = true # auto sets upstream on first push (git 2.37+)
[core]
editor = vim
autocrlf = input # normalize line endings on commit, leave alone on checkout
excludesfile = ~/.gitignore_global
[init]
defaultBranch = main
[rerere]
enabled = true # remembers conflict resolutions and reapplies automatically
[diff]
algorithm = histogram # better diffs than default myers, especially on refactored code
colorMoved = default # visually distinguishes moved code from changed code
[log]
date = iso
[alias]
lg = log --oneline --graph --decorate --all
undo = reset --soft HEAD~1
aliases = config --get-regexp alias
# List things
tags = "tag -l"
branches = "branch -a"
remotes = "remote -v"
# Shorten common commands
co = "checkout"
st = "status"
br = "branch"
ci = "commit"
d = "diff"
# Log that shows titles of last 16 commits
l = "log -16 --color=always --all --topo-order --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
# Log that starts a pager with titles of all the commits in your tree
ll = log --color=always --all --topo-order --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
# Log that shows the last 10 commits as a graph
lg = "log -10 --color=always --all --graph --topo-order --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
# Log that shows all commits as a graph (using a pager)
lgl = "log --color=always --all --graph --topo-order --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
# Show outgoing commits
out = "log @{u}.."
# Print the title of the current branch; sometimes useful for scripting
currentbranch = "!git branch --contains HEAD | grep '*' | tr -s ' ' | cut -d ' ' -f2"
# Better diffs for prose
wdiff = "diff --color-words"
# Safer pulls; don't do anything other than a fast forward on merge
pull = "pull --ff-only"
# Amend last commit without modifying commit message
amend = "!git log -n 1 --pretty=tformat:%s%n%n%b | git commit -F - --amend"
# Create a commit that will be automatically squashed as a fixup when you
# run `git rebase --autosquash`
fixup = "commit --fixup=HEAD"
# Load git configs by repo pattern
[includeIf "hasconfig:remote.*.url:git@github.com:MediaAlpha/**"]
path = ~/.gitconfig.d/mediaalpha.gitconfig
[includeIf "hasconfig:remote.*.url:https://github.com:blueben/**"]
path = ~/.gitconfig.d/ben.gitconfig