Mastering Git Aliases: Shortcuts for Power Users


Git is a powerful tool, but typing out long commands repeatedly can slow down your workflow. That’s where Git Aliases come in. By defining shortcuts for frequently used commands, you can make your Git experience faster and more efficient.

1. What Are Git Aliases?

A Git Alias is essentially a shortcut or abbreviation for a longer Git command. Aliases help save time by reducing the amount of typing needed to perform common tasks.

For example, instead of typing git status, you could create an alias git st to achieve the same result. Aliases make it easier to streamline your daily work with Git.

2. How to Set Up Git Aliases

Git aliases can be configured using the git config command. To create a simple alias, use:

git config --global alias.st status

This sets git st as an alias for git status. The --global flag makes the alias available in all repositories on your machine. If you only want the alias for a specific repository, omit the --global flag.

3. Useful Git Aliases for Power Users

Here are some commonly used Git aliases that can improve your workflow:

A. Shortcuts for Common Commands
  • st for status:
  git config --global alias.st status
  • ci for commit:
  git config --global alias.ci commit
  • co for checkout:
  git config --global alias.co checkout
  • br for branch:
  git config --global alias.br branch
B. Enhancing Git Log

Viewing commit history can get cumbersome. Aliases can simplify the git log command to display a cleaner, more informative view:

  • lg for a detailed log view:
  git config --global alias.lg "log --oneline --graph --decorate --all"

This displays a condensed, graphical log view with commit hashes, branch information, and more.

C. Quick Add and Commit
  • ac for adding and committing changes in one command:
  git config --global alias.ac '!git add . && git commit -m'

This command stages all changes and commits them with a message.

D. Simplifying Git Diff
  • d for diff:
  git config --global alias.d diff
E. Checking Out a Branch by Name
  • cb to check out a branch with a single command:
  git config --global alias.cb 'checkout -b'

4. Advanced Aliases Using Shell Commands

Git aliases can also execute shell commands. This allows you to chain commands together or perform complex actions with a single alias.

A. Squashing Commits

To squash the last few commits into one:

git config --global alias.squash '!git reset --soft HEAD~ && git commit --amend'

This resets the last commit and lets you amend it.

B. Pruning and Fetching

You can combine multiple commands into one alias. For instance, to fetch and prune branches at the same time:

git config --global alias.fp '!git fetch -p'

5. Managing Git Aliases

To view your current aliases, run:

git config --get-regexp alias

This will display all the aliases you’ve defined.

To remove an alias, use:

git config --global --unset alias.st

6. Best Practices for Git Aliases

  • Keep It Short: The goal of aliases is to save time, so keep your aliases short and memorable.
  • Use Descriptive Names: While brevity is important, make sure the alias names are descriptive enough to remember their function.
  • Combine Commands: Take advantage of shell scripting in aliases to chain multiple commands together for powerful shortcuts.
  • Document Custom Aliases: If you’re working in a team, document any custom aliases so others can adopt them or avoid confusion.

7. Conclusion

Git aliases are a powerful way to optimize your workflow and make your Git experience faster and more efficient. By setting up aliases for frequently used commands, you can save time and reduce the chance of typing errors. Whether you’re a solo developer or working with a team, mastering Git aliases can significantly enhance your productivity.


Vijeesh TP

Proactive and result oriented professional with proven ability to work as a good team player towards organizational goals and having 20+ years of experience in design and development of complex systems and business solutions for domains such as ecommerce, hospitality BFSI, ITIL and other web based information systems.  Linkedin Profile

Leave a Reply