How to configure git bash command line completion?
On Linux
On most distributions, git completion script is installed into /etc/bash_completion.d/
(or /usr/share/bash-completion/completions/git
) when you install git, no need to go to github. You just need to use it - add this line to your .bashrc
:
source /etc/bash_completion.d/git
# or
source /usr/share/bash-completion/completions/git
In some versions of Ubuntu, git autocomplete may be broken by default, reinstalling by running this command should fix it:
sudo apt-get install git-core bash-completion
On Mac
You can install git completion using Homebrew or MacPorts.
Homebrew
if $BASH_VERSION
> 4: brew install bash-completion@2
(updated version)
Pay special care which version of bash you have as MacOS default ships with 3.2.57(1)-release.
add to .bash_profile
:
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"
For older versions of bash: brew install bash-completion
add to .bash_profile
:
[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
MacPorts
sudo port install git +bash_completion
then add this to your .bash_profile
:
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
fi
more info in this guide: Install Bash git completion
Note that in all cases you need to create a new shell (open a new terminal tab/window) for changes to take effect.
i had same issue, followed below steps:
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
then add the following lines to your .bash_profile
(generally under your home folder)
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi
source : http://code-worrier.com/blog/autocomplete-git/
Most of the instructions you see will tell you to download
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
and source that in your bash startup script like .bashrc
.
But there is a problem with that, because it is referencing the master
branch, which is the latest version of git-completion.bash
. The problem is that sometimes it will break because it is not compatible with the version of git you've installed.
In fact, right now that will break because the master
branch's git-completion.bash
has new features that requires git v2.18, which none of the package managers and installers have updated to yet. You'll get an error unknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
So the safest solution is to reference the version/tag that matches the git you've installed. For example:
https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash
Note that it has a v2.17.
in the URL instead of master
. And then, of course, make sure to source that in the bash startup script.
Ubuntu 14.10
Install git-core
and bash-completion
sudo apt-get install -y git-core bash-completion
-
For current session usage
source /usr/share/bash-completion/completions/git
-
To have it always on for all sessions
echo "source /usr/share/bash-completion/completions/git" >> ~/.bashrc