It’s great to achieve more while typing less. This is what makes git aliases so useful. I define them in my ~/.gitconfig and split ‘em into two groups. First group contains simple, one-liners like:

# show latest 10 commits
l=log --oneline --decorate=no -10

# print total number of commits
nt=rev-list --count --all

Second group contains more complex but more powerful aliases:

# delete tag locally and remotely
# @usage git td <tag>
td=!TAG="$@" sh -c 'git tag -d $TAG && git push origin :refs/tags/$TAG'

# show commit messages of AUTHOR
# @usage git msg <author>
msg=!AUTHOR="$@" sh -c \
    'git log -i --author=\"$AUTHOR\" \
                --date=short \
                --format=\"%cd: %s\" \
                | fold -s -w80 - \
                | less '

The magic is in the ! symbol. Aliases starting with it are treated as shell commands. Sample usage:

$ git td v0.1.0
Deleted tag 'v0.1.0' (was 8e18323)
To drop:/git/sergioromx.git
 - [deleted]         v0.1.0

$ git msg sergioro
2019-09-30: add posts
2019-09-28: add posts. add footer to main page

That saves me quite a lot of typing.