Is your shell unable to locate your git-upload-pack or git-receive-pack when working with a remote repo on shared hosting?
When a client's host (Hostmonster) recently upgraded from openSSH4 to openSSH5, it locked us out of pushing/pulling via GIT with "git-upload-pack: command not found fatal" errors due to the fact that .bashrc files are ignored when running a single command in openSSH5 (no custom $PATH). Because this is a shared hosting environment, we didn't have access to /usr/bin/ (and rightfully so!) which means we can't use clever aliasing to solve this problem.
The _easiest_ solution? add the path to your git-upload-path and git-recieve-path in your local .git/config file under [remote "origin"].
i.e. change this
[remote "origin"] url = <the repo address> fetch = +refs/heads/*:refs/remotes/origin/*
[remote "origin"] url = <the repo address> fetch = +refs/heads/*:refs/remotes/origin/* uploadpack = <path to git-upload-pack> receivepack = <path to git-receive-pack>
done and done.