-
Notifications
You must be signed in to change notification settings - Fork 1
/
.gitconfig
94 lines (80 loc) · 2.31 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
# Add this to the top of your existing .gitconfig
[alias]
c = commit -am
fpush = push --force
s = status
sclone = clone --depth=1
amend = commit --amend --all
undocommit = reset HEAD~
hreset = reset --hard
co = checkout
df = diff --color --color-words --abbrev
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --
cherrypick = cherry-pick
cherry = cherry-pick
cp = cherry-pick
# show commit log of unique commits of this branch (not on master)
diffcommitsfrommaster = log --no-merges master..
# show unified diff of unique commits of this branch
difffrommaster = diff master...
# ^^^^ Holy crap two dots vs three dots, so important. https://stackoverflow.com/a/48681527
# Show the diff between the latest commit and the current state
d = !"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat"
reup = rebase-update # depot_tools specific
# Merge GitHub pull request on top of the `master` branch
mpr = "!f() { \
if [ $(printf \"%s\" \"$1\" | grep '^[0-9]\\+$' > /dev/null; printf $?) -eq 0 ]; then \
git fetch origin refs/pull/$1/head:pr/$1 && \
git rebase master pr/$1 && \
git checkout master && \
git merge pr/$1 && \
git branch -D pr/$1 && \
git commit --amend -m \"$(git log -1 --pretty=%B)\n\nCloses #$1.\"; \
fi \
}; f"
[color]
ui = auto
[color "diff"]
meta = yellow bold
commit = green bold
frag = magenta bold
old = red bold
new = green bold
whitespace = red reverse
newMoved = cyan
oldMoved = blue
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = "red bold 52"
newNormal = "green bold"
newHighlight = "green bold 22"
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "status"]
added = green
changed = yellow
untracked = cyan
# correct typos
[help]
autocorrect = 1
[push]
default = current
followTags = true
[fetch]
prune = true
[core]
excludesfile = ~/.gitignore
attributesfile = ~/.gitattributes
[diff]
# Show blocks of moved text of at least 20 alphanumeric characters differently than adds/deletes
# https://blog.github.com/2018-04-05-git-217-released/
colorMoved = zebra
[stash]
showPatch = true
[log]
date = relative
# use separate file for username / github token / etc
[include]
path = ~/.gitconfig.local