Giter Site home page Giter Site logo

bash-git-prompt's Introduction

Informative git prompt for bash and fish

This prompt is a port of the "Informative git prompt for zsh" which you can find here

A bash prompt that displays information about the current git repository. In particular the branch name, difference with remote branch, number of files staged, changed, etc.

(an original idea from this blog post).

Examples

The prompt may look like the following:

Example prompt

  • (master↑3|✚1): on branch master, ahead of remote by 3 commits, 1 file changed but not staged
  • (status|●2): on branch status, 2 files staged
  • (master|✚7…): on branch master, 7 files changed, some files untracked
  • (master|✖2✚3): on branch master, 2 conflicts, 3 files changed
  • (master|⚑2): on branch master, 2 stash entries
  • (experimental↓2↑3|✔): on branch experimental; your branch has diverged by 3 commits, remote by 2 commits; the repository is otherwise clean
  • (:70c2952|✔): not on any branch; parent commit has hash 70c2952; the repository is otherwise clean

Prompt Structure

By default, the general appearance of the prompt is::

(<branch> <branch tracking>|<local status>)

The symbols are as follows:

  • Local Status Symbols
    • : repository clean
    • ●n: there are n staged files
    • ✖n: there are n unmerged files
    • ✚n: there are n changed but unstaged files
    • …n: there are n untracked files
    • ⚑n: there are n stash entries
  • Branch Tracking Symbols
    • ↑n: ahead of remote by n commits
    • ↓n: behind remote by n commits
    • ↓m↑n: branches diverged, other by m commits, yours by n commits
  • Branch Symbol:
    When the branch name starts with a colon :, it means it's actually a hash, not a branch (although it should be pretty clear, unless you name your branches like hashes :-)

Install

  1. Clone this repository to your homedir e.g. git clone https://github.com/magicmonty/bash-git-prompt.git .bash-git-prompt
  2. Source the file gitprompt.sh from your ~/.bashrc config file
  3. Go in a git repository and test it!

Configuration

  1. You can use GIT_PROMPT_START and GIT_PROMPT_END to tweak your prompt
  2. If you want to tweak the colors, currently you have to tweak it in the gitprompt.sh
  3. You can define prompt_callback function to tweak your prompt dynamicly
function prompt_callback {
    if [ `jobs | wc -l` -ne 0 ]; then
        echo -n " jobs:\j"
    fi
}

Enjoy!

bash-git-prompt's People

Contributors

magicmonty avatar mariuszs avatar maddingo avatar fernandolopez avatar ogr3 avatar bwestlin avatar skuro avatar danil avatar jacksullivan avatar msztolcman avatar sdefresne avatar

Watchers

James Cloos avatar Charlotte avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.