You can bypass some firewall limitation with the git:// protocol using
a proxy command:

	GIT_PROXY_COMMAND="" git clone git://domain.tld/repo.git

The value must point to an executable file (no shell wrapping here),
accepting 2 arguments: HOST and PORT. These will be the host:port the
git server is listenning on (basically what's in your git:// URL).

An example gitproxy(1) script using a jump host over SSH:

	ssh jumphost.domain.tld "nc $1 $2"

Put that in your `$PATH`, and use it as

	GIT_PROXY_COMMAND=gitproxy git clone git://whatever.tld/repo.git

Or to set it globally

	git config --global core.gitProxy gitproxy
	git config --global core.gitProxy 'none for internal.lan'

The latter will use `gitproxy` for all git:// URLs, except when host is
"internal.lan". You can use the "for" keyword to use specific commands
for specific domains.

See git-config(1) for more information.