-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgitconfig
114 lines (100 loc) · 3.75 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
[user]
name = Mario Longobardi
email = mlongob@gmail.com
[diff]
tool = gvimdiff
[difftool]
prompt = false
[color]
ui = true
status = true
branch = true
diff = true
[mergetool]
keepBackup = false
[mergetool "fugitive"]
cmd = vim -f -c \"Gvdiff\" \"$MERGED\"
[mergetool "gfugitive"]
cmd = gvim -f -c \"Gvdiff\" \"$MERGED\"
[merge]
tool = fugitive
[core]
preloadindex = true
pager = less -R -n -F -X -E
excludesfile = ~/.gitignore_global
[pager]
status = true
[pull]
rebase = true
[push]
default = simple
[alias]
lg = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) -%C(bold red) %an%C(reset)'
lga = "!git lg --all"
ls = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cgreen\\ [%an]" --decorate
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cgreen\\ [%an]" --decorate --name-status
last = log -1 --pretty=%B
amend = commit --amend --no-edit
f = "!git ls-files | grep"
srb = svn rebase
la = "!git config -l | grep alias | cut -c 7-"
touch = "!touch $1 && git add $1"
exec = ! "exec"
st = status -sb
br = branch -vv
bra = branch -vv --all
bed = branch --edit-description
aa = add --all :/
ci = commit -v
ca = commit --amend -v
save = commit -a -m "Save"
co = checkout
cob = checkout -b
di = diff
dis = diff --stat
diw = diff --color-words
dic = diff --color-words=.
dc = diff --cached
dcs = diff --cached --stat
dcw = diff --cached --color-words
dcc = diff --cached --color-words=.
dh = diff HEAD~
dhs = diff HEAD~ --stat
dhw = diff HEAD~ --color-words
dhc = diff HEAD~ --color-words=.
grp = grep -C 1
ff = merge --ff-only
noff = merge --no-ff
fa = fetch --all
deleted = remote prune --dry-run
prunable = ! "pr() { git remote | xargs -L 1 git deleted; }; pr"
pullff = pull --ff-only
mirror-remote = ! "mr() { git push \"${2}\" \"refs/remotes/${1}/*:refs/heads/*\" && git remote set-head \"${2}\" -a; }; mr"
count = diff --stat "4b825dc642cb6eb9a060e54bf8d69288fbee4904" # hash of empty tree
credit = shortlog -sn
linecredit = ! "lc() { git ls-tree --name-only -z -r HEAD | xargs -0 -n1 git diff --no-index --numstat /dev/null 2>/dev/null | grep -v '^-' | cut -f 3- | cut -d ' ' -f 3- | xargs -n1 git blame --line-porcelain | grep '^author ' | cut -d ' ' -f 2- | sort | uniq -c | sort -nr; }; lc"
cc = rev-list HEAD --count
cca = rev-list --all --count
gr = log --graph --format=compact # graph
grl = log --graph --format=line # graph line
grd = log --graph --format=detail # graph detail
gra = log --graph --format=compact --all # graph all
gral = log --graph --format=line --all # graph all line
grad = log --graph --format=detail --all # graph all in detail
sf = show --format=fuller
sfs = show --format=fuller --stat
info = ! "inf() { if git rev-parse ${1} >/dev/null 2>&1; then git cat-file -p $(git rev-parse ${1}); else echo Invalid object; fi }; inf"
cleanall = clean -fdx # this is dangerous, so it's intentionally long to type
update-submodules = submodule update --init --recursive
upgrade-submodules = submodule update --init --remote
root = rev-parse --show-toplevel
tar = ! "tar() { git archive --format tar --prefix=\"${PWD##*/}/\" HEAD -o ${1}; }; tar"
targz = ! "targz() { git archive --format tar.gz --prefix=\"${PWD##*/}/\" HEAD -o ${1}; }; targz"
zip = ! "zip() { git archive --format zip --prefix=\"${PWD##*/}/\" HEAD -o ${1}; }; zip"
[pretty]
line = "%C(auto)%h%d %s %C(yellow)by %C(blue)%an %C(green)%ar"
compact = "%C(auto)%h %s %C(green)%ar%n %C(auto)%d%n"
detail = "%C(auto)%h %s%n %C(yellow)by %C(blue)%an %C(magenta)<%ae> [%G?] %C(green)%ar%n %C(auto)%d%n"
# Allow local customizations in the .gitconfig_local file
[include]
path = ~/.gitconfig_local