[user]
	email = Felix.E.Huang@gmail.com
	name = Erystasius

[core]
	autocrlf = input

[push]
    autoSetupRemote = true

[difftool "sourcetree"]
	cmd = "'' "

[mergetool "sourcetree"]
	cmd = "'' "
	trustExitCode = true

[alias]
    # Shorten basic commands
    br = branch
    ci = commit
    st = status
    rb = rebase
    rl = reflog
    cf = config
    rs = restore
    co = checkout
    sm = submodule
    cp = cherry-pick
    # Push
    pub = push --set-upstream origin HEAD   # Publish curent branch
    force-push = push --force
    # Pull
    force-pull = !git fetch && git reset --hard "@{u}"
    # Restore commands
    rss = restore --staged
    rssa = restore --staged :/
    throw = !git reset --hard HEAD && git clean -df
    # Auto commit commands
    ac = ! git add --all && git ci -m 'No-message commit [Generated by ac command]'
    cp = ! git ci -m 'No-message commit [Generated by ac command]' && git push
    acp = ! git ac && git push
    # Alias
    alias = ! git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e s/\\ /\\ =\\ /
    # Log
    lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
