# set better default colors
[color]
        ui = auto
[color "branch"]
        current = green bold
        local = green dim
        remote = blue
[color "diff"]
        meta = yellow bold
        frag = magenta ul
        old = magenta bold
        new = green bold
[color "status"]
        added = green
        changed = yellow
        untracked = magenta

# set the default branch to main
[init]
	defaultBranch = main

# always push up local branches to the remote origin
[push]
	autoSetupRemote = true
        default = current

# default rebase commits to avoid merge issues
[pull]
        rebase = true

# personal stuff like gpg config, username, etc
[includeIf "gitdir:~/"]
        path = ~/.config/git/personal

# aliases, mostly fixing typos
[alias]
        root = rev-parse --show-toplevel
        ad = add
        addd = add
        banch = branch
        brnach = branch
        rbanch = branch
        cm = commit
        cmmit = commit
        commmit = commit
        commti = commit
        comit = commit
        ocmmit = commit
        co = checkout
        checkotu = checkout
        hceckout = checkout
        chckout = checkout
        ceckout = checkout
        chekout = checkout
        checout = checkout
        checkut = checkout
        checkuot = checkout
        chekcout = checkout
        cehckout = checkout
        chckeout = checkout
        idff = diff
        psuh = push
        puhs = push
[gpg]
	format = ssh
[user]
	signingkey = ~/.ssh/id_rsa.pub
[commit]
	gpgsign = true
