Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@johngibb
Last active August 10, 2022 04:42
Show Gist options
  • Star 67 You must be signed in to star a gist
  • Fork 38 You must be signed in to fork a gist
  • Save johngibb/972430 to your computer and use it in GitHub Desktop.
Save johngibb/972430 to your computer and use it in GitHub Desktop.
Mac OS X - Install Git Completion
URL="https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash"
PROFILE="$HOME/.profile"
echo "Downloading git-completion..."
if ! curl "$URL" --silent --output "$HOME/.git-completion.bash"; then
echo "ERROR: Couldn't download completion script. Make sure you have a working internet connection." && exit 1
fi
SOURCE_LINE="source ~/.git-completion.bash"
if [[ -f "$PROFILE" ]] && grep -q "$SOURCE_LINE" "$PROFILE"; then
echo "Already added to bash profile."
else
echo "Adding to bash profile..."
echo "$SOURCE_LINE" >> "$PROFILE"
fi
echo "Reloading bash profile..."
source "$PROFILE"
echo
echo "Successfully installed."
echo "Git auto-completion should be all set!"
@johngibb
Copy link
Author

I incorporated your changes, hope you don't mind. I can't seem to figure out a way to merge your changes with a gist a la pull request, so I just manually made the same edit you did. Hope you don't mind!

@NewAlexandria
Copy link

I get a pointer malloc error when the source "$PROFILE" line execs. That's not my specialty, but if others have this issue I'd be interested to know why. Otherwise the script execs fine (if you use .profile in bash)

@ajmichels
Copy link

@johngibb I ran this code and now my .profile script doesn't source when I open terminal. Any ideas? It works when I source it manually but it isn't doing it automatically anymore.

@ajmichels
Copy link

NM. I recently added a .bash_profile file which is now running instead of my .profile script. http://stackoverflow.com/questions/18773051/how-to-make-os-x-to-read-bash-profile-not-profile-file

I added "source ~/.profile" to .bash_profile and everything is happy again.

And the git completion is working. :)

@vicaya
Copy link

vicaya commented Aug 13, 2014

You'll need to add -L to the curl command to follow redirect now

@tashia
Copy link

tashia commented Nov 6, 2015

Thanks! I am glad I found this one! I have tried so many links, this one finally make the autocompletion work!

@Sudharma
Copy link

Thanks worked for me on Mac.

@Kiodaddy
Copy link

Thanks working fine on Mac, i was having issue but corrected it.

@Maxon4eg
Copy link

Thank you !
works on mac

Copy link

ghost commented Jan 18, 2018

Thank you!
It works for me on mac.

@dnlglsn
Copy link

dnlglsn commented Feb 1, 2018

Thanks! This works on OSX high sierra too.

@A6Brgeuka
Copy link

works well, ty!

@HerbertKoelman
Copy link

Very cool, thanks for the information :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment