whatisgithub

What is oh-my-git?

arialdomartini/oh-my-git — explained in plain English

Analysis updated 2026-07-03

3,709ShellAudience · developerComplexity · 2/5Setup · moderate

In one sentence

A terminal prompt add-on for bash and zsh that shows your Git repository's current state, modified files, staged changes, branch sync status, as icons right in the command line.

Mindmap

mindmap
  root((oh-my-git))
    What it does
      Shows Git state in prompt
      Icons for file changes
      Branch sync status
    Shells supported
      Bash
      Zsh
    Visual themes
      Awesome-Terminal-Fonts
      Standard char themes
    How to install
      Single clone command
      Antigen for zsh
    Customization
      Override symbol variables
      Disable per repo
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

See at a glance whether you have uncommitted changes or untracked files without typing git status

USE CASE 2

Know instantly if your local branch is ahead of or behind the remote in your terminal prompt

USE CASE 3

Get a visual indicator when a merge or rebase is in progress inside your Git repo

USE CASE 4

Customize the prompt symbols to match your preferred terminal style or font

What is it built with?

ShellBashZsh

How does it compare?

arialdomartini/oh-my-gitantonbabenko/pre-commit-terraformolegos2/mobox
Stars3,7093,7113,700
LanguageShellShellShell
Setup difficultymoderatemoderatehard
Complexity2/53/54/5
Audiencedeveloperops devopsgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 5min

The featured theme requires installing Awesome-Terminal-Fonts and setting it as your terminal font, fallback themes work without it.

Not specified in the explanation.

So what is it?

oh-my-git is a shell prompt add-on for bash and zsh that shows the current state of a Git repository directly in the terminal prompt line. Git is a version control system developers use to track changes in code. When you are inside a folder that contains a Git repository, oh-my-git changes the prompt to display a row of symbols indicating what is happening: whether you have unsaved changes, new files that are not yet tracked, files staged for the next commit, whether your branch is ahead of or behind the remote copy, whether a merge or rebase operation is in progress, and more. Each piece of information is represented by a small icon or symbol so you can read the repo state at a glance without typing any commands. The symbols are configurable. The defaults include things like a heart icon for being inside a Git repo, a pencil for modified files, a plus for added files, and an arrow when you are ready to commit. You can override any symbol by setting the corresponding variable in your shell startup file. The project ships with three visual themes. The featured one uses special glyphs from a patched font called Awesome-Terminal-Fonts, which needs to be installed separately and set as your terminal font. If you prefer not to install a custom font, you can choose one of the other themes that use standard characters. Installation for bash is a single command that clones the repository and adds a source line to your profile. For zsh, it works through the antigen plugin manager by adding a few lines to your .zshrc file. You can disable oh-my-git for a specific repository by adding a setting to that repository's local git config, which is useful for very large repos where the extra git queries might slow the prompt down.

Copy-paste prompts

Prompt 1
I use bash and want my terminal prompt to show Git repo state with icons. Walk me through installing oh-my-git and what it will look like after setup.
Prompt 2
Show me how to install oh-my-git for zsh using the antigen plugin manager and what lines to add to my .zshrc.
Prompt 3
I want to customize oh-my-git's icons, for example change the modified-file symbol. Which variables do I set in my shell startup file?
Prompt 4
How do I disable oh-my-git for a specific large Git repo where it slows down my terminal prompt?
Prompt 5
I don't want to install a custom font. Which oh-my-git theme should I use that works with standard terminal characters?

Frequently asked questions

What is oh-my-git?

A terminal prompt add-on for bash and zsh that shows your Git repository's current state, modified files, staged changes, branch sync status, as icons right in the command line.

What language is oh-my-git written in?

Mainly Shell. The stack also includes Shell, Bash, Zsh.

What license does oh-my-git use?

Not specified in the explanation.

How hard is oh-my-git to set up?

Setup difficulty is rated moderate, with roughly 5min to a first successful run.

Who is oh-my-git for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.