I have my Git repo on my machine, which has no public IP of its own, at home; I want to clone this repo at my web server. Is it correct that a reverse tunnel will allow me to pu
I haven't tried this myself (and can't speak for how well it deals with NAT), but it sounds like DynDNS could be one solution to your problem. It provides a public URL to your home machine that can even update itself automatically. From their support page:
The free Dynamic DNS service provides an easy-to-remember URL for quick remote access to your network. This allows you to reach services at home, such as a personal website, security camera, VPN, game server, and more, using a simple web address like http://myhome.dyndns.org/, instead of a meaningless, ever-changing IP address like http://123.45.67.89. You can learn more about how Dynamic DNS works here.
Of course, because this will make it easier for other people to access your computer, as well, you should also take appropriate security measures. If it works, though, you could just ssh into your home machine through the DynDNS URL.