How do I correctly install the tools in git's contrib directory?

git

Solution

Contribs is a collection of helpful things. You don't install them as a package. For example, to install the tab completion, you simply source that script from your .bash_profile script. Each contrib in that folder has it's own way of using it.

as for compiling git from source

make
sudo make install

after you install all the prerequisites.

Problem

Git includes a set of tools contributed by third parties. I'm not sure how I'm supposed to use these tools correctly. For example, I'd like to use git-subtree. There seem to be a number of ways I could use this: Copy to my path ``` cp /path/to/git-subtree.sh /usr/local/bin/git-subtree chmod +x /usr/local/bin/git-subtree ``` Works fine, feels a bit hacky. Symlink to my path ``` chmod +x /path/to/git-subtree.sh ln -s /path/to/git-subtree.sh /usr/local/bin/git-subtree ``` Also works, feels marginally less hacky Use a git alias Add the following to my global .gitconfig file: ``` [alias] subtree = !/path/to/git-subtree.sh ``` Then good old chmod again: ``` chmod +x /path/to/git-subtree.sh ``` Works, feels all nice and git-ish. Use the Makefile Per the INSTALL file. ``` cd /path/to/git-subtree.sh make make install make install-doc ``` Doesn't work for me, it tries to install to a non-existent path. Perhaps this is because I installed git using homebrew rather than installing from source? I'm too lazy to investigate; I already have three working alternatives. :) So my question is, which of these is the preferred way of installing git-contrib add-ons? Is there even a preferred way? Is there another option I haven't suggested that's better than the ones listed above?

Original source