This guide will help you setup a bare git repository (essentially a repository which serves as a "server") to be able to automatically deploy its content when a push is received.
This can be useful if you have by example a web server (like bluehost or simple vps) where you which to deploy your code without setting up a full code deployment Pipeline through utilities like Jenkins.
The strategy used in this guide to automate the deployment is through the post-receive git hook.
The hook configuration is flexible and modular so you can split your deployment procedure through multiple files and it doesn't enforce a language as long as you can run the script with the first line as a shebang like this on the first line: #!/bin/bash
(replace /bin/bash
with the actual executable which should be used to run your script)