Git Alias Workflow

GIT

Continuing this article series on Streamlining Workflow, we must include a way to streamline our Git commands. This article uses my own aliases and a GIST for the full list.

TLTR: Want to go straight to the code? The complete alias file I use is available in this GIST.

Alias possibilities

There are a few ways to add aliases to your system, and the natural place to start is in your terminal configuration. In my case, I have a ton of aliases I have added to my .zshrc workflow.

However, since these are Git commands, I have decided to add them to my .gitconfig file. This makes sure my zshrc code is more DRY. To do this, add a new section to your .config title [alias]. Now, let's begin.

My configuration

I am not going to go over every aliased command in my configuration, just the ones I use most frequently.

Branches

I have several commands that help with branches. Each command is prefixed with git.

  • So, to check out an existing branch: git co name-of-branch
  • Create a new branch: git cob name-of-new-branch
  • Create a new branch: git br name-of-new-branch. This alias I have stopped using in favor of cob because at creation, cob changes to the branch.
  • Change to master branch: git com. If you have changed your default branch to main or some other name, this will still change to the default branch.
  • Delete a branch: git brd name-of-new-branch

Commits

So, to check the status: git st, which uses the -sb switch to trim the CLI to a cleaner output:

## master...origin/master
M content/posts/git-alias-workflow.md
  • Add all changed files: git aa instead of git add -A
  • Commit: git cm This will open your editor of choice, or you can git cm -m "My commit message"
  • Okay, so my most used alias: git aacm is an alias for git add -A && git commit. Remember, you will need to use the -m to add a message.

Remote

This alias is for a combined push with the remote repository:

  • Combined add, commit, and push: git acp, using your editor, or suffix with `-m "Commit message."

Your remote:

  • Push after you have done your commit: git po, as a short alias for `git push origin
  • Pull from your remote branch: git plo as an alias for git pull origin

Working with an upstream

  • Fetch: git fminstead ofgit fetch upstream.`
  • Merge upstream with main branch: git mup as an alias for git merge upstream/master

Logs

I have a few aliases for git log

Pretty format, with decoration, is git ls:

git-ls.webp 9.97 KB

Pretty format, with decoration and --numstat is git ll:

git-ll.webp 11 KB

These are the basic aliases that I use the most. Again, refer to the GIST for a complete list.