-
Notifications
You must be signed in to change notification settings - Fork 5
/
gitaliases
63 lines (53 loc) · 1.88 KB
/
gitaliases
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
[alias]
aa = add --all
ap = add --patch
b = branch
co = checkout
# Commit
ca = commit --amend
cara = commit --amend --reset-author
carane = commit --amend --reset-author --no-edit
ci = commit
# Diff
d = diff
dc = diff --cached
# Fetch
fo = fetch origin
fop = fetch origin --prune
fp = format-patch
l = "!. ~/.githelpers && pretty_git_log"
lf = log --pretty=format:\"%h %cd%C(yellow)%d%Creset %s%C(green) [%an]%Creset\" --decorate --numstat --date=short
lsnv = ls-files -- . ':!vendor'
# Cherry pick
cp = cherry-pick
cpa = cherry-pick --abort
cpc = cherry-pick --continue
# Rebase
rb = "!r() { git rebase -i HEAD~$1; }; r"
rc = rebase --continue
ra = rebase --abort
rs = rebase --skip
# Edit conflicting files
ec = "!$EDITOR $(git diff --name-only --diff-filter=U --relative)"
# Add conflicting files
ac = "!git add $(git diff --name-only --diff-filter=U --relative)"
# Status
s = status -s
st = status
# Stash
sl = stash list
sp = stash pop
sd = stash drop stash@{0}
ss = show stash@{0}
# Reset
rem = reset --mixed
reh = reset --hard
com = commit -c ORIG_HEAD
gh = rev-parse @
type = cat-file -t
dump = cat-file -p
qclone = clone --depth 1
subup = submodule update --recursive
find-merge = "!sh -c 'commit=$0 && branch=${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"
show-merge = "!sh -c 'merge=$(git find-merge $0 $1) && [ -n \"$merge\" ] && git show $merge'"
bf = "!sh -c 'git checkout $(echo \"$(git --no-pager branch -v | fzf +m)\" | awk \"{print \\$1}\")'"