With flat-file CMS like Grav gaining popularity, it is useful to maintain a single source of truth on GitHub. Once the site is on GitHub, it can be easily modified by multiple contributors. Using the Webhooks functionality available in GitHub, the hosted website can be updated automatically when any modifications are pushed to GitHub.
This update is usually a simple process with a short PHP script. But when working with private GitHub repositories, because of the security requirements of GitHub and the way Apache works on Ubuntu, it requires some additional configuration for the process to function seamlessly.