How to Set up Git Tab Completion

Tyler Tyler (304)
5 minutes

Tab completion, or auto-completion, is essential if you're using Git on the command line. Tab completion is a nice feature of many shells that allows you to complete a word by hitting tab. In this case, we want to be able to use tab completion for things like branches and tags in git. Fortunately, setting it up is pretty simple.

Posted in these interests:
h/git16 guides

First, open a shell and navigate to your home directory because that's where the script will reside.

cd

Now download the git completion script using one of the following methods.

Using curl:

curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash

Using wget:

wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
source ~/git-completion.bash

In most cases, you'll want to source this file automatically whenever you start a new shell. To do so, open your ~/.bashrc file and append the command from above. Once you save the file, all new shells will automatically source the file.

Note: The tilde (~) refers to your home directory.

Move to a git controlled directory and type:

git checkout <tab><tab>

You should see a list of all of the possible branches that can be checked out!

Tyler Tyler (304)
2 minutes

Sometimes we start writing code without managing our branches in advance. Then we make commits in master (or some other base branch) when we intended to carve off a new feature branch.