Files
git-utilities/README.md
2017-09-20 22:13:09 -04:00

65 lines
2.3 KiB
Markdown

## Introduction
This is a collection of simple command-line scripts, bash aliases, and bash utilities that make using `git` even easier.
The command-line scripts include:
* [feature](FEATURE.md) - make working with feature branches easier
* [release](RELEASE.md)- make working with release branches and tags easier
* [xgrep](XGREP.md)- make using `git-grep` easier
The command-line scripts are written in Ruby 2.x using just the standard libraries and do not require any gems to be installed.
For OS X users, these should just work out-of-box.
The `bash` utilities come directly from the [git source contrib](https://github.com/git/git/tree/master/contrib) and include:
* support for [tab completion](https://github.com/git/git/tree/master/contrib/completion/git-completion.bash)
* support for repository status in your [shell prompt](https://github.com/git/git/tree/master/contrib/completion/git-prompt.sh)
## Installation
Clone the repository
```
mkdir -p ~/GitHub/rkiel
cd ~/GitHub/rkiel
git clone https://github.com/rkiel/git-utilities.git
```
To add the scripts to your path, add the following to `.bash_profile`
```
export GIT_UTILITIES_BIN="~/GitHub/rkiel/git-utilities/bin"
export PATH=${GIT_UTILITIES_BIN}:$PATH
```
To enable `bash` tab completion for `git` commands, add the following to `.bash_profile` (OS X) or `.bashrc` (Linux)
```
source ~/GitHub/rkiel/git-utilities/dotfiles/git-completion.bash
```
To enable your `bash` prompt to display repository status, add the following to `.bash_profile` (OS X) or `.bashrc` (Linux).
```
source ~/GitHub/rkiel/git-utilities/dotfiles/git-prompt.sh
```
Here's a sample prompt that includes the current branch (i.e. `$(__git_ps1 " %s")`)
```
export PS1='[\[\e[0;35m\]\u@\h\[\e[0m\] \[\e[1;34m\]\W\[\e[0;32m\]$(__git_ps1 " %s")\[\e[0m\]]\$ '
```
To include the `bash` aliases and enable tab completion for the `feature` script, add the following to `.bashrc`.
```
source ~/GitHub/rkiel/git-utilities/dotfiles/bashrc
```
If your user id (i.e. `env|grep USER`) is generic, such as `ec2-user` or `centos` or `ubuntu`, set a `FEATURE_USER` environment variable in your `.bash_profile`. Either your `USER` or `FEATURE_USER` should be unique relative to all the users who will be creating feature branches in your git repository.
```
export FEATURE_USER=rkiel
```