-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitconfig
243 lines (194 loc) · 6.06 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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
[user]
name = Jonny Garrett
email = [email protected]
[core]
autocrlf = true
excludesfile = C:\\Users\\E20157\\Documents\\gitignore_global.txt
pager = diff-so-fancy | less --tabs=4 -RFX
#whitespace = cr-at-eol
[color]
branch = auto
diff = auto
status = auto
[color "branch"]
current = red reverse
local = cyan
remote = green
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
whitespace = red reverse
[color "status"]
added = yellow
changed = green
untracked = cyan
[push]
default = simple
[pull]
default = current
[branch]
autosetuprebase = always
[apply]
whitespace = nowarn
[alias]
#https://github.com/durdn/cfg/blob/master/.gitconfig
alist = config --get-regexp alias
cp = cherry-pick
s = status -sb
st = status
cl = clone
ci = commit
cm = commit -m
cma = commit -a -m
ca = commit --amend
amend = commit --amend --no-edit
amendm = commit --amend -m
caa = commit -a --amend -C HEAD
filelog = log -u
fl = log -u
co = checkout
cot = checkout --track
cob = checkout -b
cof = checkout --
br = branch
bra = branch -ra
brav = branch -rav
bravv = branch -ravv
branch = branch -ra
untrack = rm --cached
fecth = fetch
type = cat-file -t
dump = cat-file -p
ai = add --interactive
#reset commands
r = reset
r1 = reset HEAD^
r2 = reset HEAD^^
rh = reset --hard
rh1 = reset --hard HEAD^
rh2 = reset --hard HEAD^^
rs = reset --soft
rs1 = reset --soft HEAD^
rs2 = reset --soft HEAD^^
#git svn
svnr = svn rebase
svnd = svn dcommit
svnl = svn log --oneline --show-commit
#stash
sl = stash list
sa = stash apply
ss = stash save
sp = stash pop
sc = stash clear
sd = stash drop
sdiff = stash show -p
sdiff1 = stash show -p stash@{1}
sdiff2 = stash show -p stash@{2}
sdiff3 = stash show -p stash@{3}
#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"
# tags
lasttag = describe --tags --abbrev=0
lt = describe --tags --abbrev=0
pt = push --tags
#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"
remso = remote show origin
#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"
#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
lds = log --pretty=format:"%C(yellow)%h\\ %C(green)%ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short --graph
ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
lc = "!f() { git ll "$1"^.."$1"; }; f"
lnc = log --pretty=format:"%h\\ %s\\ [%cn]"
ignored = ls-files -o -i --exclude-standard
ign = ignored
cleanf = clean -f
cleand = clean -d
cleanfd = clean -f -d
cleanignored = clean -f -X
cleanx = clean -f -X
cleanall = clean -fd -X
cleanalldry = clean -fd -X -n
rerereforget = rerere forget
#list all aliases
la = "!git config -l | grep alias | cut -c 7-"
#diff = diff --word-diff
d = diff
diffc = diff --cached
dc = diff --cached
diffs = diff --staged
ds = diff --staged
dsf = "!f() { [ \"$GIT_PREFIX\" != \"\" ] && cd "$GIT_PREFIX"; git diff --color $@ | diff-so-fancy | less --tabs=4 -RFX; }; f"
#http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/
#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"
lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(bold yellow)%d%C(reset)%C(reset) %C(white)%s%C(reset) %C(dim white)- %C(yellow)%an%C(reset)' --all
lg2 = 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(dim white)- %C(yellow)%an%C(reset)' --all
lg = !"git lg1 -n 20"
llog = log --date=local
lc = log ORIG_HEAD.. --stat --no-merges
changes=diff --name-status -r
diffstat=diff --stat -r
new = !sh -c 'git log $1@{1}..$1@{0} "$@"'
serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
prune-all = !git remote | xargs -n 1 git remote prune
# Finding files and content inside files (grep)
f = "!git ls-files | grep -i"
#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"
grep = grep -Ii
gr = grep -Ii
#rename branch tree to done-
done = "!f() { git branch | grep "$1" | cut -c 3- | grep -v done | xargs -I{} git branch -m {} done-{}; }; f"
[gui]
[merge]
keepBackup = false;
defaulttoupstream = true;
tool = p4merge
# tool = bc3
[mergetool "p4merge"]
#cmd = \"C:\Program Files\Perforce\p4merge.exe" \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"
keepTemporaries = false
trustExitCode = false
keepBackup = false
path = C:/Program Files/Perforce/p4merge.exe
[mergetool "bc3"]
[diff]
memonicprefix = true
tool = p4merge
compactionHeuristic = true
[difftool "p4mergetool"]
path = C:/Program Files/Perforce/p4merge.exe
#cmd = \"C:\Program Files\Perforce\p4merge.exe" \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"
[difftool "bc3"]
#[difftool "sourcetree"]
# cmd = opendiff \"$LOCAL\" \"$REMOTE\"
# path =
#[mergetool "sourcetree"]
cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
# trustExitCode = true
[rerere]
enabled = true
[gui]
recentrepo = C:/Workspace/source/source