Install Bash git completion

Justin Hileman edited this page Aug 6, 2018 · 44 revisions

git-flow completion requires git-completion to work. How exactly you go about installing git-completion varies wildly from system to system, so it's hard to give exact installation instructions.

OS X / macOS

By far the easiest way to install both Git and git-completion is via Homebrew, so you should pick that one.

Homebrew

  1. Install homebrew

  2. Install Git and bash-completion: brew install git bash-completion (Note: If this install fails with a 404 error, and you already have git installed, just remove the git part of this brew install)

  3. Add bash-completion to your ~/.bash_profile:

    [ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
    

MacPorts

If you're using MacPorts, then you will need to install Git with the +bash_completion option

sudo port install git +bash_completion

Add the following to your ~/.bash_profile or ~/.profile

# bash-completion
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
  . /opt/local/etc/profile.d/bash_completion.sh
fi

You need to change the command Terminal.app uses to launch the shell in the preferences.

  1. Menu > Preferences > Startup, "Shells open with:"
  2. Select "Command" and enter /opt/local/bin/bash -l to switch to bash provided by MacPorts.

Linux

Ubuntu/Debian

  1. Install Git and bash-completion: sudo apt-get install git bash-completion
  2. I don't think you need to do anything else.

(This doesn't appear to work on Ubuntu Studio 16.04. For instance 'git flow ' TAB shows the files under bash.)

Fedora

  1. Install Git and bash-completion: sudo yum install git bash-completion
  2. I don't think you need to do anything else.

Arch Linux

  1. Install Git and bash-completion: sudo pacman -S git bash-completion
  2. I don't think you need to do anything else.

Windows

msysgit

  1. Download and place git-flow-completion.bash in home directory (~/ in msysgit shell)

  2. Add a .bashrc file to your home directory with the following line (or add this line to existing .bashrc file):

     source ~/git-flow-completion.bash
    

Note: The steps above have been tested to work with msysgit version 1.7.3.1 and newer, while completion does not function when tested with msysgit version 1.7.0.2. For best results, install the latest version of msysgit.

Cygwin

  1. Download and place git-flow-completion.bash in %CYGWIN_INSTALLATION_DIR%\etc\bash_completion.d
  2. Rename it to git-flow

Now you can autocomplete as following: git flow init etc.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.