Here are a few aliases that I use on my daily routine. I'm sharing this as it might be helpful for other developers, too.
#!/bin/sh
# Push configuration will always assume same branch name in the given remote repository
# If only one remote location exists, it won't ask it.
git config --global push.default current
# Important aliases that prevents me to do mistakes
git config --global alias.update 'pull --rebase'
git config --global alias.publish 'push'
git config --global alias.fork 'checkout -b'
git config --global alias.amend 'commit --amend'
# Saves your current
git config --global alias.save 'stash --'
git config --global alias.load 'stash pop'
# Shortcuts
git config --global alias.st 'status -s'
git config --global alias.ls 'log --oneline --abbrev-commit'
git config --global alias.co 'commit'
Allows one to switch between branches using a more intuitive syntax.
git switch <my-branch>
Allows one to create a new branch using a more intuitive syntax.
git fork <new-branch-name>
Merging remote upstream changes into your local repository is a common task in Git-based collaboration work flows. This particular alias will help you to keep things in sync without introducing merge commits, using a rebase strategy to solve conflicts.
git update
Transfer commits from your local repository to a remote repo.
git publish
Temporarily shelves changes you've made to your working copy so you can work on something else, and then come back and re-apply them later on.
git save
Loads previously shelved changes.
git load