A decent number of things are blocked where I work. SSH is not. I usually use git via SSH. I did want to clone someone's repo that was shared over the git protocol, so I typed in the git-clone command, and waited. It timed out. The quick fix would be to clone it to my home machine, and then clone it over ssh. I never like doing that though, I like origin being the actual origin. I decided that it shouldn't be too hard to get a clone to work, so I did a bit of googling. I figured that if git had any support for a proxy server, it'd be possible one way or another.
I figured that I could use a combination of the "netcat" utility and ssh to get the desired result. I found the following article: http://twopenguins.org/tips/git-through-proxy.php that explained how to use git through a socks proxy server. There is an environmental variable GIT_PROXY_COMMAND. Using "netcat" in a wrapper script can let you proxy just about anything by directing the network IO to/from the netcat process. Git can be proxied in this manner, just as SSH can.
I modified the instructions given in this tutorial to do what I wanted. I created the wrapper script, and put it in my path, and set GIT_PROXY_COMMAND appropriately. Instead of executing netcat locally with arguments indicating I wanted a SOCKS proxy, I used the following wrapper script:
#!/bin/bash
exec ssh www.example.com exec nc $*
Basically this says "ssh to the remote host, and execute netcat with any arguments supplied to this script." The arguments supplied are the hostname and port, and netcat does the rest. After making sure that the script was in order, and GIT_PROXY_COMMAND set, I did a git-clone on my git:// url. It worked very nicely. It did seem like it forked from the terminal, but I haven't taken the time to figure out why yet. I was just able to get access to the source code I needed.