aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/%HOME%/.gitconfig
blob: 8e60aa88eedff7df99bc70f883243be250a58aee (plain) (blame)
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
[user]
	name = Egor Tensin
	email = Egor.Tensin@gmail.com
[core]
	editor = vim
	autocrlf = false
[push]
	default = current
[mergetool]
	keepBackup = false
[pull]
	ff = only
[alias]
	clean-all = clean -fdx
	clean-ignored = clean -fdX
	clean-unknown = clean -fd

	l = log --oneline
	# This is awesome: http://stackoverflow.com/a/1838938/514684
	ll = log --graph --full-history --all --pretty=format:"%h%x09%d%x20%s"
	lll = log --graph --full-history --all --color --pretty=tformat:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s%x20%x1b[33m(%an)%x1b[0m"

	# I think this is only usable on Cygwin, given all the file permission
	# madness there:
	xx = update-index --add --chmod=+x

	hide = update-index --skip-worktree
	unhide = update-index --no-skip-worktree
	hidden = !git ls-files -v | grep --basic-regexp \"^\\([[:lower:]]\\|S\\)\"

	# I heard git might use sh for aliases, so I tried to keep that in
	# mind. Didn't want to bother with an external script.
	fixup = "! \
f() { \
    if ! git rev-parse --is-inside-work-tree >/dev/null ; then \
        return 1 ; \
    fi ; \
\
    add=-a ; \
    git diff --cached --quiet --exit-code || add= ; \
\
    if [ -z \"${add}\" ] ; then \
        echo \"There're unstaged changes, can't rebase.\" >&2 ; \
        return 1 ; \
    fi ; \
\
    numof_parents=`git rev-list --parents -n 1 HEAD | wc --words` ; \
    if [ \"$numof_parents\" -eq 1 ] ; then \
        dest_ref=--root ; \
    elif [ \"$numof_parents\" -eq 2 ] ; then \
        dest_ref=HEAD^^ ; \
    else \
        echo \"Sure you want to fixup a merge commit?\" >&2 ; \
        return 1 ; \
    fi ; \
\
    git commit $add --fixup=HEAD && GIT_EDITOR=true git rebase -i --autosquash \"$dest_ref\" ; \
} ; \
f ; \
"
[fetch]
	prune = true
[log]
	follow = true
[include]
	path = ~/.gitconfig_work
[filter "lfs"]
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
	clean = git-lfs clean -- %f