-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitconfig
164 lines (146 loc) · 4.79 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
[user]
name = elzup
email = guild0105@gmail.com
[color]
# colorの設定(以下のコマンドは自動で色つける)
status = auto
diff = auto
branch = auto
interactive = auto
grep = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow bold
frag = magenta bold # line info
old = red # deletions
new = green # additions
[color "status"]
added = yellow
changed = green
untracked = cyan
[push]
default = tracking # defaultのpush先はtrackingしているリポジトリ
[core]
autoCRLF = false
excludesfile = ~/.gitignore_global
editor = vim -c \"set fenc=utf-8\"
ignorecase = false
[alias]
st = status
s = status -s
sh = show
so = remote show origin
ft = fetch
fa = fetch --all
p = !"git pull; git submodule foreach git pull origin master"
c = clone --recursive
up = pull --rebase # pull rebase
rbm = rebase master # masterへのrebaseはよく使うのでalias
ad = add
ci = commit -a # modifiedなファイルを全てstageへ
cm = commit -am # コミットメッセージ
cam = commit -a --amend # 直前のcommitを修正
sw = switch
swr = !"anyframe-widget-insert-git-branch"
co = checkout
cob = checkout -b
me = merge
mt = master
poh = origin HEAD -u
pom = push origin master -u
rma = rm --cached -r .
ra = !git rm --cached -r . && git add .
remori = remote remove origin
cmi = commit -am 'Initialize commit'
cm-ghost = commit --author="agent <agent@example.com>"
tags = tag -l
branches = branch -a
remotes = remote -v
amend = commit --amend --reuse-message=HEAD
rh = reset --hard
# branch関連
br = branch
ba = branch -a # originも含めた全てのbranchを表示
bm = branch -m # rename
bn = branch --no-merged # mergeしてないbranchを表示
branch-delmerged = !git branch --merged | grep -vE '^\\*|master$|develop$' | xargs -I % git branch -d %
bd = branch -D
db = branch -D
# log関連
wc = whatchanged # logに変更されたファイルも一緒に出す
ls = log --stat # logに変更されたファイルも一緒に出す
lp = log -p # diffも一緒に出す
la = log --pretty=\"format:%ad %h (%an): %s\" --date=short # ざっくりログ出す
lr = log origin # originのlog
oneline = log --pretty=oneline
ranking = shortlog -s -n --no-merges
# logをtree表示
logg = log --graph --date=short --pretty=format:'%Cgreen%h %cd %Cblue%cn %Creset%s'
log-all = log --graph --all --color --pretty='%x09%h %cn%x09%s %Cred%d%Creset'
# diff関連
dm = diff master # masterとのdiff
dw = diff --color-words # 単語単位でいろつけてdiff
dc = diff --cached # addされているものとのdiff
ds = diff --staged # 同上(1.6.1移行)
dis = diff --stat # stat表示
dim = diff --shortstat # 行数のみ
d1 = diff HEAD~ # HEADから1つ前とdiff
d2 = diff HEAD~~ # HEADから2つ前とdiff
d3 = diff HEAD~~~ # HEADから3つ前とdiff
d4 = diff HEAD~~~~ # HEADから4つ前とdiff
d5 = diff HEAD~~~~~ # HEADから5つ前とdiff
d10 = diff HEAD~~~~~~~~~~ # HEADから10前とdiff
untracked = ls-files --others --exclude-standard
# mergeの際にconflictが起きたファイルを編集
edit-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; vim `f`"
# mergeの際にconflictが起きたファイルをadd
add-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; git add `f`"
# rebase
rc = rebase --continue
# grep関連
gr = grep
gn = grep -n
la = !PAGER=emoji_filter git log --oneline -20 # 絵文字の表示
# hub関連
pr = pull-request -o -F ~/.pullreqmessage.txt -b elzzup:develop -h elzzup:$(git rev-parse --short @)
conflicts = !git ls-files -u | cut -f 2 | sort -u
dsf = "!f() { [ -z \"$GIT_PREFIX\" ] || cd \"$GIT_PREFIX\" && git diff --color \"$@\" | diff-so-fancy | less --tabs=4 -RFX; }; f"
#
timeleap = checkout
dmail = rebase
[github]
user = elzup
[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
[hub]
protocol = ssh
[merge]
ff = false
[pull]
ff = only
[fetch]
prune = true
[pager]
log = diff-so-fancy | less --tabs=4 -RFX
show = diff-so-fancy | less --tabs=4 -RFX
# diff = diff-so-fancy | less --tabs=4 -RFX
[ghq]
root = ~/.ghq/
; [init]
; defaultBranch = main
[init]
defaultBranch = main
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[http]
lowSpeedTime = 10