A customizable bash and fish shell prompt that displays detailed Git repository status information.
Bash Git Prompt is a shell enhancement that displays real-time, detailed information about the current Git repository directly in the command line interface. It shows branch name, upstream tracking status, file status counts, and stash entries to help developers quickly assess repository state without running additional Git commands, improving workflow efficiency.
Developers using bash or fish shells who frequently work with Git repositories and want immediate visibility into repository status directly in their terminal prompt.
Developers choose this over basic prompts because it provides comprehensive, visually intuitive Git status information with extensive customization options, including multiple themes and performance controls for large repositories, while maintaining compatibility with both bash and fish shells.
An informative and fancy bash prompt for Git users
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Shows branch name, upstream tracking, file status counts (staged, changed, untracked, conflicted), and stash entries in a concise, symbol-based format, reducing the need for manual 'git status' commands.
Offers multiple pre-built themes, custom theme creation via .bgptheme files, and configurable variables like GIT_PROMPT_SHOW_UNTRACKED_FILES, allowing users to tailor the prompt to their visual preferences and workflow.
Includes options to optimize speed in repositories with many untracked files or deep submodules, such as disabling remote status fetching or untracked file counting via .bash-git-rc files.
Works with both bash and fish shells, with installation guides for each, providing consistent Git prompt functionality across different terminal environments.
Setup involves multiple environment variables, theme files, and shell scripting knowledge, which can be daunting for users unfamiliar with prompt customization or those seeking a plug-and-play solution.
Only supports bash and fish, excluding other popular shells like zsh—despite being a port from a zsh project—forcing users of unsupported shells to find alternatives.
Even with optimizations, fetching remote status and scanning for untracked files can slow down the prompt in very large repositories, requiring manual tweaks that may not fully eliminate lag.