mirror of
https://github.com/jimeh/git-aware-prompt.git
synced 2026-02-19 05:36:38 +00:00
120 lines
3.3 KiB
Markdown
120 lines
3.3 KiB
Markdown
# Git Aware Prompt
|
|
|
|
Working with Git and its great branching/merging features is
|
|
amazing. Constantly switching branches can be confusing though as you have to
|
|
run `git status` to see which branch you're currently on.
|
|
|
|
The solution to this is to have your terminal prompt display the current
|
|
branch. There's a [number][1] [of][2] [articles][3] [available][4] online
|
|
about how to achieve this. This project is an attempt to make an easy to
|
|
install/configure solution.
|
|
|
|
[1]: http://aaroncrane.co.uk/2009/03/git_branch_prompt/
|
|
[2]: http://railstips.org/2009/2/2/bedazzle-your-bash-prompt-with-git-info
|
|
[3]: http://techblog.floorplanner.com/2008/12/14/working-with-git-branches/
|
|
[4]: http://www.intridea.com/2009/2/2/git-status-in-your-prompt
|
|
|
|
|
|
## Overview
|
|
|
|
If you `cd` to a Git working directory, you will see the current Git branch
|
|
name displayed in your terminal prompt. When you're not in a Git working
|
|
directory, your prompt works like normal.
|
|
|
|

|
|
|
|
|
|
## Installation
|
|
|
|
Clone the project to a `.bash` folder in your home directory:
|
|
|
|
```bash
|
|
mkdir ~/.bash
|
|
cd ~/.bash
|
|
git clone https://github.com/jimeh/git-aware-prompt.git
|
|
```
|
|
|
|
Edit your `~/.bash_profile` or `~/.profile` or `~/.bashrc` (for Ubuntu) and add the following to the top:
|
|
|
|
```bash
|
|
export GITAWAREPROMPT=~/.bash/git-aware-prompt
|
|
source "${GITAWAREPROMPT}/main.sh"
|
|
```
|
|
|
|
|
|
## Configuring
|
|
|
|
Once installed, there will be new `$git_branch` and `$git_dirty` variables
|
|
available to use in the `PS1` environment variable, along with a number of
|
|
color helper variables which you can see a list of in [colors.sh][].
|
|
|
|
[colors.sh]: https://github.com/jimeh/git-aware-prompt/blob/master/colors.sh
|
|
|
|
If you want to know more about how to customize your prompt, I recommend
|
|
this article: [How to: Change / Setup bash custom prompt (PS1)][how-to]
|
|
|
|
[how-to]: http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html
|
|
|
|
|
|
### Suggested Prompts
|
|
|
|
Below are a few suggested prompt configurations. Simply paste the code at the
|
|
end of the same file you pasted the installation code into earlier.
|
|
|
|
|
|
#### Mac OS X
|
|
|
|
```bash
|
|
export PS1="\u@\h \W \[\$txtcyn\]\$git_branch\[\$txtred\]\$git_dirty\[\$txtrst\]\$ "
|
|
```
|
|
|
|
Optionally, if you want a nice pretty prompt when using `sudo -s`, also add
|
|
this line:
|
|
|
|
```bash
|
|
export SUDO_PS1="\[$bakred\]\u@\h\[$txtrst\] \w\$ "
|
|
```
|
|
|
|
|
|
#### Ubuntu
|
|
|
|
Standard:
|
|
|
|
```bash
|
|
export PS1="\${debian_chroot:+(\$debian_chroot)}\u@\h:\w \[$txtcyn\]\$git_branch\[$txtred\]\$git_dirty\[$txtrst\]\$ "
|
|
```
|
|
|
|
Colorized:
|
|
|
|
```bash
|
|
export PS1="\${debian_chroot:+(\$debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \[$txtcyn\]\$git_branch\[$txtred\]\$git_dirty\[$txtrst\]\$ "
|
|
```
|
|
|
|
#### Windows
|
|
|
|
```bash
|
|
export PS1="\[\033]0;$MSYSTEM:\w\007\033[32m\]\u@\h:\[\033[33m\w \[$txtcyn\]\$git_branch\[$txtred\]\$git_dirty\[$txtrst\]\033[0m\]\$ "
|
|
```
|
|
|
|
## Updating
|
|
|
|
Assuming you followed the default installation instructions and cloned this
|
|
repo to `~/.bash/git-aware-prompt`:
|
|
|
|
```bash
|
|
cd ~/.bash/git-aware-prompt
|
|
git pull
|
|
```
|
|
|
|
|
|
## Usage Tips
|
|
|
|
To view other user's tips, please check the
|
|
[Usage Tips](https://github.com/jimeh/git-aware-prompt/wiki/Usage-Tips) wiki
|
|
page. Or if you have tips of your own, feel free to add them :)
|
|
|
|
|
|
## License
|
|
|
|
[CC0 1.0 Universal](http://creativecommons.org/publicdomain/zero/1.0/)
|