function git_main_branch -d 'Detect name of main branch of current git repository' # heuristic to return the name of the main branch command git rev-parse --git-dir &> /dev/null || return for ref in refs/{heads,remotes/{origin,upstream}}/{main,master,trunk} if command git show-ref -q --verify $ref echo (string split -r -m1 -f2 / $ref) return end end echo main end