When I started publishing the blog I was using the git subtree approach, as suggested in the hugo documentation. However, I tend to mess up my setup when I amend or rebase when working with the local site. Since I like to keep things simple, I have switched to keeping the generated site in a separate git repo, which I deploy by manually pushing to github pages. The benefit of this is that I get to review the changes manually before deploying to the live site.
I am currently travelling with my family in South East asia. The trip is planned to last about one year, so before we left home (Denmark) I set up a blog to use as a diary for ourselves and to keep friends and family updated while we are away. Since I like to do a little programming in my spare time, I decided to use Hugo as my blogging platform.