Apple - git auto-complete for *branches* at the command line?
ok, so I needed the git autocompletion script.
I got that from this url:
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
No need to worry about what directory you're in when you run this as your home directory(~
) is used with the target.
Then I added to my ~/.bash_profile
file the following 'execute if it exists' code:
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi
Update: I'm making these bits of code more concise to shrink down my .bashrc
file, in this case I now use:
test -f ~/.git-completion.bash && . $_
Note: $_
means the last argument to the previous command. so . $_
means run it - "it" being .git-completion.bash
in this case
This still works on both Ubuntu and OSX and on machines without the script .git-completion.bash
script.
Now git
Tab (actually it's git
TabTab ) works like a charm!
p.s.: If this doesn't work off the bat, you may need to run chmod u+x ~/.git-completion.bash
to grant yourself the necessary permission:
chmod
is the command that modifies file permissionsu
means the user that owns the file, by default its creator, i.e. you+
means set/activate/add a permissionx
means execute permission, i.e. the ability to run the script
Some people prefer to use a package manager to automate the installing, updating, and configuring of Mac OS packages. I am a fan of package managers, and I think Homebrew is the best package manager for Mac OS (some would say it's the de-facto Mac OS package manager).
Once you have installed Homebrew, you can simply install git along with bash-completion with brew install git bash-completion
.
You'll then need to put the following in your ~/.bash_profile
:
if [ -f `brew --prefix`/etc/bash_completion.d/git-completion.bash ]; then
. `brew --prefix`/etc/bash_completion.d/git-completion.bash
fi
(Note: If this install fails with a 404 error, and you already have git installed, just remove the git part of this brew install)
More info on installing git and bash-completion with brew here.
Run this on terminal:
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
Then, do this:
vi ~/.bash_profile
Add this lines:
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi
That's all. This worked for me.