summaryrefslogtreecommitdiff
path: root/base/gitconfig
blob: 90bcbf82ee9674ed3e84cdb2691bb51455726ed0 (plain)
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
[include]
    path = custom

[push]
    default = simple

[alias]
    # main-branch outputs 'main' if there is a main branch, otherwise it outputs
    # 'master'
    main-branch = "!if git rev-parse --verify main 2>1 >/dev/null; then echo 'main'; else echo 'master'; fi"

    #Shows diff in log
    ll = log --stat --abbrev-commit

    #Show all aliases
    alias = !git config --list | grep 'alias\\.' | sed 's/alias\\.\\([^=]*\\)=\\(.*\\)/\\1\\t=> \\2/' | sort

    #Full sync of local database
    sync = fetch -pv --all

    cam = commit -a -m
    lug = log --color --graph --date=short --pretty=format:'%Cgreen%cd (%cr)%Creset %C(bold blue)%an%Creset %Cred%h%Creset -%C(yellow)%d%Creset %s' --abbrev-commit
    purr = pull --rebase
    chk = checkout
    from = !git fetch origin "$(git main-branch)" && git rebase -i origin/"$(git main-branch)"

    # print local branches and their last commit times
    blanch = for-each-ref --sort=authordate --format '%(HEAD)%(align:left,40)%(refname:short)%(end) | %(align:left,20)%(authordate:iso)%(end) | %(subject)' refs/heads

    # checkout master/main and delete previously checked out branch
    close = !git checkout "$(git main-branch)" && git branch -D @{-1}

[color]
    branch = auto
    diff = auto
    status = auto