-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitconfig
155 lines (127 loc) · 4.49 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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
[user]
name = Thijs Brobbel
email = [email protected]
[core]
autocrlf = true
editor = gvim --nofork '%*'
excludesfile = ~/.gitignore_global
[push]
default = simple
;[merge]
;tool = fugitive
;keepBackup = false
;[mergetool "fugitive"]
;cmd = gvim -f -c \"Gdiff\" \"$MERGED\"
;[mergetool "sourcetree"]
;cmd = 'C:/Program Files/Perforce/p4merge.exe' \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"
;trustExitCode = true
[alias]
la = "!git config -l | grep alias | cut -c 7-"
co = checkout
br = branch
ci = commit -v
ca = commit -va
st = status
lol = log --pretty=oneline --abbrev-commit --graph --decorate
unstage = reset HEAD --
last = log -1 HEAD
stash-unapply = !git stash show -p | git apply -R
unmv = "!f() { git mv $2 $1; }; f"
update = commit -v --amend -Chead
updatea = commit -va --amend -Chead
f = "!git ls-files | grep -i"
add-upstream = remote add upstream
fa = fetch --all
pum = pull --ff-only upstream master
pu = !git push --set-upstream origin $(git rev-parse --abbrev-ref HEAD)
r1 = reset HEAD^
pr = "!f() { git fetch -fu ${2:-upstream} refs/pull/$1/head:pr/$1 && git checkout pr/$1; }; f"
pr-clean = "!git for-each-ref refs/heads/pr/* --format=\"%(refname)\" | while read ref ; do branch=${ref#refs/heads/} ; git branch -D $branch ; done"
fp = fetch --prune
sln = !start $(git f sln)
ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
cp = cherry-pick
sts = status -s
stsc = !git sts |cut -b4-
rh = reset --hard
rh1 = reset HEAD^ --hard
pushf = push -f
sync = !git pum && git fp && git push && git delete-merged-branches
irebase = "rebase -i"
iarebase = "rebase -i --autosquash"
sl = stash list
; --------------------------------------------------------------------------------
;cl = clone
;;ci = commit
;cm = commit -m
;cma = commit -a -m
;;ca = commit --amend
;amend = commit --amend
;caa = commit -a --amend -C HEAD
;filelog = log -u
;fl = log -u
;ai = add --interactive
;co = checkout
;br = branch
;#"!git branch -ra | grep -v done"
;bra = branch -ra
;#list commands
;le = log --oneline --decorate
;ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
;ls1 = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate
;ld = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
;lds = log --pretty=format:"%C(yellow)%h\\ %C(green)%ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short --graph
;lc = "!f() { git ll "$1"^.."$1"; }; f"
;lnc = log --pretty=format:"%h\\ %s\\ [%cn]"
;#list all aliases
;diff = diff --word-diff
;d = diff --word-diff
;dc = diff --cached
;#list modified files in last commit
;dl = "!git ll -1"
;#diff last commit
;dlc = diff --cached HEAD^
;dr = "!f() { git diff -w "$1"^.."$1"; }; f"
;diffr = "!f() { git diff "$1"^.."$1"; }; f"
;branch = branch -ra
;#reset commands
;r = reset
;r2 = reset HEAD^^
;rh2 = reset HEAD^^ --hard
;#git svn
;svnr = svn rebase
;svnd = svn dcommit
;svnl = svn log --oneline --show-commit
;#stash
;sa = stash apply
;ss = stash save
;grep = grep -Ii
;gr = grep -Ii
;#grep from root folder
;gra = "!f() { A=$(pwd) && TOPLEVEL=$(git rev-parse --show-toplevel) && cd $TOPLEVEL && git grep --full-name -In $1 | xargs -I{} echo $TOPLEVEL/{} && cd $A; }; f"
;#rename branch tree to done-
;done = "!f() { git branch | grep "$1" | cut -c 3- | grep -v done | xargs -I{} git branch -m {} done-{}; }; f"
;#assume aliases
;assume = update-index --assume-unchanged
;unassume = update-index --no-assume-unchanged
;#show assumed files
;assumed = "!git ls-files -v | grep ^h | cut -c 3-"
;#unassume all the assumed files
;unassumeall = "!git assumed | xargs git update-index --no-assume-unchanged"
;assumeall = "!git st -s | awk {'print $2'} | xargs git assume"
;lasttag = describe --tags --abbrev=0
;lt = describe --tags --abbrev=0
;#merges
;ours = "!f() { git co --ours $@ && git add $@; }; f"
;theirs = "!f() { git co --theirs $@ && git add $@; }; f"
;#list remotes
;rem="!git config -l | grep remote.*url | tail -n +2"
;#apply patch from other local repo
;lap = "!f() { git --git-dir=$1 format-patch -k -1 --stdout $2 | git am -3 -k; }; f"
;#subtree add
;sba = "!f() { git subtree add --prefix $2 $1 master --squash; }; f"
;# initial empty commit
;empty = "!git commit -am\"[empty] Initial commit\" --allow-empty"
;# interactive rebase
;mu = merge --ff-only upstream/master
;dmb = delete-merged-branches