GIT is a useful tool for SCM but can be a bit confusing to setup if you are unfamiliar with it.
First, set your proxies in your shell.
export http_proxy=http://<hostname>:<port> export no_proxy=<domain>
Where <hostname> is the name of you proxy server and <domain> is your local domain which doesn't get proxied.
If you are in a development environment where you have multiple git sites with some behind firewalls and others not, there is a way to edit your global .getconfig so that GIT will be able to access all of them.
Here's an example of such a .gitconfig
... [user] name = <username> email = <email> [core] gitproxy = none for <host_patterns> gitproxy = <proxy_command> for <host_patterns>
Where <host_patterns> could be "kernel.org" or "dev.omapzoom.org" or your local domain in the case of none. This allows you to have local git repos and remote git repos work identically. If you need the proxy for everything but the local domain, use
gitproxy = none for <localdomain> gitproxy = <proxy_command>