"Git" is a great tool and does work behind proxy's / firewalls with a little help. There are many ways to do this however this section will only cover "corkscrew".
Download "corkscrew" at Corkscrew and un-tar it.
cd corkscrew-2.0 ./configure make cp corkscrew ~/bin/corkscrew
This can be placed anywhere as long as it is in PATH. Next create the following simple shell script called git-proxy in ~/bin directory (or some place listed in PATH).Replace items inbetween "<...> with the correct information.
#!/bin/sh exec <path_to_corkscrew>/corkscrew <proxy_name> <proxy port> $*
Save the file and give it execute permissions
chmod u+x git-proxy
Run it to test it. It should give the usage statement for corkscrew.
Now tell git you want to use a proxy. Replace the stuff between the "<...>" and don't leave out the single quotes.
git config --global core.gitproxy '<path_to_proxy>/git-proxy'
This will setup "git" to always use the proxy for all git commands, with all git trees. To set the proxy for just a specific git tree execute instead something similar to the following. The below command configures "git" to use the proxy for all URLs with a kernel.org suffix.
git config --global core.gitproxy '"<path to proxy>/git-proxy"; for kernel.org' 'for kernel.org$'
Configure Ubuntu's "Network Proxy" appropriately to get access to source code
Configure the Proxy for the package manager:
Configure "http_proxy" and "ftp_proxy" environmental variable: If there is a need to use a proxy server to access the web set the environment variables "http_proxy" and "ftp_proxy". This will allow "apt-get" etc. to use this environment variable value. Below would be the ideal way of assigning values for "http_proxy":
export http_proxy=”<proxy-server>:<port>” export https_proxy="<proxy-server>:<port>" export ftp_proxy="<proxy-server>:<port>"
Add this to ~/.bashrc so that everytime the machine is rebooted this variable does not have to be exported.