-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitconfig
129 lines (123 loc) · 4.44 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
[http]
sslVerify = false
postBuffer = 524288000
[core]
quotepath = false
filemode = false
excludesfile = ~/.gitignore # globalな.gitignoreの指定
autocrlf = false # CRLFを自動変換するかどうか
editor = vim -c 'set fileencoding=utf-8'
pager = less -R
ignorecase = false
[color]
# colorの設定(以下のコマンドは自動で色つける)
status = auto
diff = auto
branch = auto
interactive = auto
grep = auto
[push]
# default = tracking # defaultのpush先はtrackingしているリポジトリ
[alias]
s = status
ss = status -s -b
sh = show
so = remote show origin
# pull/push/fetch
ft = fetch
ftp = fetch --prune
up = pull --rebase # pull rebase
po = push origin # push origin
pof = push -f origin # force
pu = push -u origin # push origin and set upstream
# rebase
rbm = rebase master # masterへのrebaseはよく使うのでalias
rbc = rebase --continue
rba = rebase --abort
rbi = rebase -i
rbi1 = rebase -i HEAD^
rbi2 = rebase -i HEAD^^
rbi3 = rebase -i HEAD^^^
rbi4 = rebase -i HEAD^^^^
rbi5 = rebase -i HEAD^^^^^
# merge
mn = merge --no-ff
# comit
ad = add
c = commit
ci = commit -a # modifiedなファイルを全てstageへ
cam = commit -a --amend # 直前のcommitを修正
co = checkout
cb = checkout -b # branch切ってcheckoutする
ct = checkout --track # remoteのbranchを追跡
cm = checkout master
# branch関連
br = branch
ba = branch -a # originも含めた全てのbranchを表示
bm = branch --merged # merge済みのbranchを表示
bn = branch --no-merged # mergeしてないbranchを表示
bo = branch -r # remote branchを表示
# log関連
ls = log --graph --all --color --stat
lp = log --graph --all --color --stat -p
la = log --pretty=\"format:%ad %h (%an): %s\" --date=short # ざっくりログ出す
lr = log origin # originのlog
ll = log --pretty='format: %C(yellow)%<(15)%cr%Creset%C(blue)%h%Creset %C(green)%<(15)%an%Creset %s %Cred%d%Creset'
lg = log --graph --pretty='format: %C(yellow)%<(15)%cr%Creset%C(blue)%h%Creset %C(green)%<(15)%an%Creset %s %Cred%d%Creset'
lga = log --graph --all --color --pretty='format: %C(yellow)%<(15)%cr%Creset%C(blue)%h%Creset %C(green)%<(15)%an%Creset %s %Cred%d%Creset'
lgn = log --graph --decorate --abbrev-commit --format=format:'%C(blue)%h%C(reset) - %C(green)(%ar)%C(reset)%C(yellow)%d%C(reset)\n %C(white)%s%C(reset) %C(dim white)- %an%C(reset)'
# reset
rhs = reset --soft HEAD
rhs1 = reset --soft HEAD~
rhs2 = reset --soft HEAD~~
rhs3 = reset --soft HEAD~~~
rhs4 = reset --soft HEAD~~~~
rhs5 = reset --soft HEAD~~~~~
rhh = reset --hard HEAD # 取り返しのつかないことをしてしまった……!
rhh1 = reset --hard HEAD~
rhh2 = reset --hard HEAD~~
rhh3 = reset --hard HEAD~~~
rhh4 = reset --hard HEAD~~~~
rhh5 = reset --hard HEAD~~~~~
# diff関連
di = diff
dm = diff master # masterとのdiff
dw = diff --color-words # 単語単位でいろつけてdiff
dc = diff --cached # addされているものとのdiff
ds = diff --staged # 同上(1.6.1移行)
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
# edit関連
# modified or untrackedなファイルを編集する
edit = "!f() { git status -s | cut -b 4- | grep -v '\\/$' | uniq ; }; vim `f`"
# 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`"
delete-unmerged = "!f() { git ls-files --deleted | cut -f2 | sort -u ; }; git rm `f`"
# grep関連
gr = grep
gn = grep -n
sm = submodule
smupdate = submodule foreach "git checkout master; git pull origin master"
# stash
st = stash
stp = stash pop
merged-branch = !sh -c 'git branch -vv | grep \"origin/.*: gone]\" | awk \"{print \\$1}\"'
delete-merged-branch = !sh -c 'git merged-branch | xargs git branch -d'
delete-merged-branch-force = !sh -c 'git merged-branch | xargs git branch -D'
[merge]
ff = false
[pull]
rebase = true
[push]
default = current
[pack]
windowMemory = 100m
SizeLimit = 100m
threads = 1
window = 0